mysql
2013-03-13 18 views -1 likes 
-1

我用下面的查询:MySQL的 - 选择未知科拉姆WHERE子句

$sql = $db->Query("SELECT a.id, a.t_name, a.cpc FROM twitter a LEFT JOIN users b ON b.id = a.user LEFT JOIN followed c ON c.user_id = '".$data['id']."' AND c.site_id = a.id WHERE a.active = '0' AND (b.coins >= a.cpc AND a.cpc >= '2') AND (c.site_id IS NULL AND a.user !='".$data['id']."')".$dbt_value." ORDER BY a.cpc DESC".($site['mysql_random'] == 1 ? ', RAND()' : '')." LIMIT 14"); 

但我想补充的:

AND (a.d_max > '0' OR a.d_max = u) AND (a.max > '0' OR a.max = u) 

所以我补充说,在到:

$sql = $db->Query("SELECT a.id, a.t_name, a.cpc FROM twitter a LEFT JOIN users b ON b.id = a.user LEFT JOIN followed c ON c.user_id = '".$data['id']."' AND c.site_id = a.id WHERE a.active = '0' AND (a.d_max > '0' OR a.d_max = u) AND (a.max > '0' OR a.max = u) AND (b.coins >= a.cpc AND a.cpc >= '2') AND (c.site_id IS NULL AND a.user !='".$data['id']."')".$dbt_value." ORDER BY a.cpc DESC".($site['mysql_random'] == 1 ? ', RAND()' : '')." LIMIT 14"); 

但是,我收到以下错误:

SQL错误:'where子句'中的'u'列未知:

我知道这应该是如此简单,但我只是想念它,你们能够发现有什么问题吗?

+1

没有现场'u',你的意思是文字上的''u''(注意引号)? – Wrikken 2013-03-13 18:25:53

+0

我必须列d_max和max可以有任何数字或字母u。我想选出数字大于0的行或字母u – CustomNet 2013-03-13 18:26:58

+0

因此,正如我所说的,使用''u'',而不是'u'。 – Wrikken 2013-03-13 18:29:30

回答

2

本来应该是这样的

AND (a.d_max > '0' OR a.d_max = 'u') AND (a.max > '0' OR a.max = 'u') 
+0

或者更确切地说:AND(a.d_max> 0或a.d_max ='u')AND(a.max> 0或a.max ='u')'... – 2013-03-13 18:41:41

相关问题