select * from table1 where id in (select id from table2),

2024-11-22 20:49:06
推荐回答(5个)
回答1:

大哥,你的语句都通不过的,我的已经通过了,还说我的不对吗?
你的意思不就是:想找的table1 里的ID既在table2里又在table3里吗??所以你才用AND
而那个你说对的兄弟,用OR ,也算是对了??

你闹啊?

select * from table1 where id in((select id from table2 where id in (select id from table3))

可以这样嵌套着写的,你那样写是错误的,你在分析器里测试下不就知道了

谢谢啊~

回答2:

明确一点,这样好像不行。
括号中的两个select送入数据库中跟本就没人认出它来。(我里的“人”指SQL服务器)

回答3:

用and不对,可以用union

select * from table1 where id in (select id from table2 union all select id from table3);

回答4:

select * from table1 where id in((select id from table2)and (select id from table3))

回答5:

select * from table1
where id in (select id from table2 )
OR id in( select id from table3);