我目前有以下查询工作:
$sql = $db->Query("SELECT a.id FROM surf a LEFT JOIN users b ON b.id = a.user LEFT JOIN surfed c ON c.user = '".$data['id']."' AND c.site = a.id WHERE a.active = '0' AND (b.coins >= a.cpc AND a.cpc >= '2') AND (c.site IS NULL AND a.user !='".$data['id']."')".$dbt_value." ORDER BY a.cpc DESC LIMIT 1");
Run Code Online (Sandbox Code Playgroud)
但我想在其中添加以下AND语句:
AND `cpc`<='10' AND (`id` NOT IN (SELECT `site` FROM `surfed_site`))
Run Code Online (Sandbox Code Playgroud)
所以我看起来像:
$sql = $db->Query("SELECT a.id FROM surf a LEFT JOIN users b ON b.id = a.user LEFT JOIN surfed c ON c.user = '".$data['id']."' AND c.site = a.id WHERE a.active = '0' AND (b.coins >= a.cpc AND a.cpc >= '2') AND `cpc`<='10' AND (`id` NOT IN (SELECT `site` FROM `surfed_site`)) AND (c.site IS NULL AND a.user !='".$data['id']."')".$dbt_value." ORDER BY a.cpc DESC LIMIT 1");
Run Code Online (Sandbox Code Playgroud)
但后来我收到这条消息:
IN/ALL/ANY子查询中的列'id'是不明确的
我的查询有什么问题?
尝试改变
AND `cpc`<='10' AND (`id` NOT IN (SELECT `site` FROM `surfed_site`))
Run Code Online (Sandbox Code Playgroud)
至
AND `cpc`<='10' AND (`a.id` NOT IN (SELECT `site` FROM `surfed_site`))
Run Code Online (Sandbox Code Playgroud)
您需要,a.id因为它不确定id引用哪个表中的哪一列.
| 归档时间: |
|
| 查看次数: |
9888 次 |
| 最近记录: |