主题:【求助】mysql中2个表2个条件怎么写来做选择? -- 铁手
共:💬22 🌺13
SELECT aa,bb,dd FROM A WHERE aa=12345
和
SELECT A.aa,A.bb,A.dd FROM A,B WHERE B.cc=23456 AND A.aa=B.aa
目的是把A表里aa字段为12345的数据取出来,另外,还想把A表里那些其aa字段的值在B表里相对应的cc字段的值为23456的数据取出来吧。
B表aa是PRIMARY KEY吗?另外,是A表aa字段的FOREIGN KEY吗?
如果这样,ORACLE和SQL SERVER里面,这样应该就可以。
SELECT A.aa,A.bb,A.dd FROM A INNER JOIN B ON ((B.cc=23456 AND A.aa=B.aa) OR A.aa=12345)
如果是LEFT JOIN ,是只要A表里有的,不管B表里有没有,都抽出来,所以就会出现无选择返回的情况。
- 相关回复 上下关系8
🙂left outer join / inner join 百年 字151 2009-12-03 20:46:07
🙂exists? 可爱的中国 字108 2009-12-03 02:36:19
🙂使用UNION Operator 2 eBus 字115 2009-12-02 20:18:23
🙂ME TRY TOO
🙂你用的数据库版本语句支持 sql 的 in 关键字吗 2 金各 字104 2009-12-02 09:07:33
🙂如果那个subselect 返回比较多的话 铁手 字32 2009-12-03 01:38:20
🙂是 1 金各 字439 2009-12-03 20:47:32
🙂A.aa 都已经是常量了,还要求A.aa=B.aa ? 金各 字46 2009-12-02 09:07:22