我打破了我对这个简单的和平代码,不想工作,我想不出任何其他解决方案...MYSQL Subselect在哪里条款
请你帮忙使其工作?
SELECT chart FROM chart WHERE (select count(user_id) FROM users join charts ON
user_id=charts.UID and charts.chart=chart WHERE INET_NTOA(user_ip)='127.0.0.1')=0;
有3条表涉及以下的列:
chart(
chart int(5)
);
charts(
UID int(11),
chart int(5)
);
`users` (
`user_id` int(11),
`user_ip` int(10)
);
的要点是,从第一“图表”列选择应该传递给子查询来charts.chart =图表,而是子查询最终会比较自己,即图表=图表 - 始终为真。
我知道它不会像那样工作......但我真的想不出其他任何方式。对于我正在尝试做的事情,有什么办法吗?
EDIT 1: 基本上我需要一个反向选择:
select chart.chart from chart join charts on chart.chart=charts.chart join users
on user_id=charts.UID and INET_NTOA(user_ip)='127.0.0.1';
此查询返回由用户与ip给予标记的图表,例如:1,4,5-,9. 但我需要选择那些没有被标记的,也就是:2,3,6,7,8,10等等......
编辑2: 我正在寻找某种负面联结。我认为这样做,但我很笨,如何使用它。同时做一些研究...
所以......什么想法?我在这一点上是无能的...... – Anonymous 2012-04-10 12:41:09