sql问题,请各位指点

来源:百度知道 编辑:UC知道 时间:2024/06/06 11:30:21
现在有两张表。。。
表A(里面有个id,id_description)
表B(里面有start_id,end_id) A和B中的id与start_id,end_id都是一样的
现在两把两张表联系起来,并分开显示,也就说分开显示开始ID和结束ID
SQL语句:
select A.id_description
from A inner join B on
A.id=B.start_id and A.id=B.end_id
但是这样SQL会全部显示开始ID和结束ID是相同的且ID的描述(id_description)也是一样的,没有变化。
于是我做以下调整:
select A.id_description
from A inner join B on
A.id=B.start_id
此时,结束ID(end_id)有时候为空,当切仅当start_id=end_id的时候,结束ID才有显示。
请高手指点迷津。谢谢

不是很明白你的意思 你可以HI我

你要查出什么样的内容
比如select A.id_decription from A right join B on A.id=B.start_id
查出在B表里面有的ID的信息。
A表里有1,2,3的
B表里有2,3,那1就不会被查出来。
结束ID不应该被关联起来。
因为id和start_id是一个主外键关系。
虽然查到的东西一样。但是如果A表的内容增多了。B表而没有增多。
A表增多的就不会被查出来。
好比A表存的是手机号码。
B表存的是主叫或被叫。
A表又多了几个手机。。但是没有打过电话。
你查B表就相当于是通话记录。
如果你要查打过电话的人的信息。
就用select A.id_decription from A right join B on A.id=B.start_id
这条语句就可以了。A表中没有打过电话的就不会被查出来。

看不懂你要显示成什么样子!