sql问题~~(100分)

  • 主题发起人 主题发起人 qrsgroup
  • 开始时间 开始时间
Q

qrsgroup

Unregistered / Unconfirmed
GUEST, unregistred user!
表A<br>ID &nbsp; NAME &nbsp; CID<br>1 &nbsp; &nbsp;老虎 &nbsp; 11<br>2 &nbsp; &nbsp;狮子 &nbsp; 13<br>3 &nbsp; &nbsp;大象 &nbsp; 88----无对应CID<br>4 &nbsp; &nbsp;羚羊 &nbsp; 25<br>5 &nbsp; &nbsp;孔雀 &nbsp; ()----无值<br><br>&nbsp; &nbsp;表B<br>CID &nbsp; CNAME<br>11 &nbsp; &nbsp; 陕西<br>12 &nbsp; &nbsp; 新疆<br>13 &nbsp; &nbsp; 香港<br>22 &nbsp; &nbsp; 澳门<br><br>问题:<br>ACCESS数据库<br>使用这样的SQL语句将会遗漏CID为空或者不存在对应CID的记录<br>select distinct 表A.*,表B.CNAME from 表A,表B where 表A.CID=表B.CID;<br>查询结果为:<br>ID &nbsp; NAME &nbsp; CID &nbsp; CNAME<br>1 &nbsp; &nbsp;老虎 &nbsp; 11 &nbsp; &nbsp; 陕西<br>2 &nbsp; &nbsp;狮子 &nbsp; 13 &nbsp; &nbsp; 香港<br><br>如何查询出这样的结果?(ID,NAME,CNAME为必须字段)<br>ID &nbsp; NAME &nbsp; CID &nbsp; CNAME<br>1 &nbsp; &nbsp;老虎 &nbsp; 11 &nbsp; &nbsp; 陕西<br>2 &nbsp; &nbsp;狮子 &nbsp; 13 &nbsp; &nbsp; 香港<br>3 &nbsp; &nbsp;大象 &nbsp; 25 &nbsp; &nbsp; &nbsp;() &nbsp;-----此处因为没有CID为25的编号,所以CNAME字段值为空<br>4 &nbsp; &nbsp;羚羊 &nbsp; 88 &nbsp; &nbsp; &nbsp;() &nbsp;-----此处因为没有CID为88的编号,所以CNAME字段值为空<br>5 &nbsp; &nbsp;孔雀 &nbsp; () &nbsp; &nbsp; &nbsp;()
 
试试这样:<br>select distinct 表A.*,表B.CNAME from 表A<br>left join 表B on 表A.CID = 表B.CID -- left 可以去掉<br>上面是Oracle的语法,不知道Access是否支持。
 
左连接~ left join
 
结帖晚了!谢谢~~ &nbsp; &nbsp;交流QQ群:28716151
 

Similar threads

I
回复
0
查看
747
import
I
I
回复
0
查看
680
import
I
I
回复
0
查看
687
import
I
I
回复
0
查看
843
import
I
I
回复
0
查看
582
import
I
后退
顶部