五千年(敝帚自珍)

主题:【求助】mysql中2个表2个条件怎么写来做选择? -- 铁手

共:💬22 🌺13
全看分页树展 · 主题 跟帖
家园 ME TRY TOO

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表里有没有,都抽出来,所以就会出现无选择返回的情况。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河