MySQL 求救

fido555fido

新手上路
注册
2003-02-06
消息
666
荣誉分数
0
声望点数
0
select f1 from table1
where f1 not in
(select ff from table2 where userID = 'Mary')

这个sql在Oracle里面是没有问题的,在mySQL里不行。请问在mySQL里面应该怎么表达?
 
mysql不支持sub select语句,至少4.0以前不支持.
 
谢谢bbj,那么您能告诉我这个query应该怎么实现?也就是:我需要的resultset是两个resultset相减得到。这个是java程序中用到的一个query string.要把得到的最后结果populate到一个list里。谢谢!
 
SELECT ta.f1, tb.ff FROM table1 ta, table2 tb WHERE tb.userID="Mary"
 
我那个DB Query是在php里头用的
不清楚你java用不用的了,试试看吧
 
最初由 BloodHound 发布
SELECT ta.f1, tb.ff FROM table1 ta, table2 tb WHERE tb.userID="Mary"

老弟你这个query返回的好像不是两个 resultset相减的结果。
 
最初由 bbj 发布
这个LINK里有例子.
http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Rewriting_subqueries
另外,在你的程序里,先执行你的SUB QUERY,把结果APPLY到主QUERY里也可以.
hope this helps.

非常感谢bbj。按照这里的例子,可以这样写:
select table1.f1
from table1 Left Join table2 on table1.f1=table2 .ff and table2 .userID = 'Mary'
where table2 .ff is NULL


另外的笨办法就用java是写两个query,把得到的结果分别存到两个Vector里,然后相减,就得到需要的Vector了。

还是人多力量大! 谢谢各位。
 
后退
顶部