数据库关联查询

来源:互联网 发布:python idle需要安装 编辑:程序博客网 时间:2024/06/01 21:09

线段存放在_fiberline表中,线段的两个端点都存放在_station表中。

_fiberline表如下:


_station表如下:


_repairer表如下:


题目:

请用一个SQL语句,查询出以下信息,并按fiberlineid(升序)、fiberlinestartPoint_id(升序)、fiberlinerepairer_id(升序)、fiberlineendPoint_id(降序)排序

需要查询的信息为:_fiberline.id,_fiberline.name,_repairer.name_repairer.phoneNum_station.name(对应于_fiberline.startPoint_id_station.name(对应于_fiberline.endPoint_id

 

我写出的语句:

select _fiberline.id, _fiberline.name, _repairer.name, _repairer.phoneNum, _station.name, _station.name 

from _fiberline, _repairer, _station 

where _fiberline.repairer_id = _repairer.id and _fiberline.startPoint_id = _station.id and _fiberline.endPoint_id = _station.id 

order by _fiberline.id asc、_fiberline.startPoint_id asc、_fiberline.repairer_id asc、_fiberline.endPoint_id desc;

查询结果为:


将以上查询语句修改为:

select _fiberline.id, _fiberline.name, _repairer.name, _repairer.phoneNum, _station.name, _station.name 

from _fiberline, _repairer, _station 

where _fiberline.repairer_id = _repairer.id and _fiberline.startPoint_id = _station.id

order by _fiberline.id asc、_fiberline.startPoint_id asc、_fiberline.repairer_id asc、_fiberline.endPoint_id desc;(去掉最后一个and)

查询结果为:


可以看出,最后两列的值是完全一样的,即终点名称和起点名称重复了。有什么办法实现题目所要求的结果的查询呢?

烦请有思路的朋友帮忙给个思路吧,谢谢啦!


0 0
原创粉丝点击