【发布时间】:2012-03-27 19:10:22
【问题描述】:
我想知道 1c 的答案应该是什么。在这个网站上:
SELECT company
FROM route WHERE stop=4
GROUP BY name, ID
这显然不起作用,无论如何都不会显示 ID 和名称。这里缺少什么?谢谢。
【问题讨论】:
标签: sql
我想知道 1c 的答案应该是什么。在这个网站上:
SELECT company
FROM route WHERE stop=4
GROUP BY name, ID
这显然不起作用,无论如何都不会显示 ID 和名称。这里缺少什么?谢谢。
【问题讨论】:
标签: sql
SELECT stops.id, stops.name
FROM route
INNER JOIN stops on route.stop = stops.id
WHERE route.num = 4 AND route.company = 'LRT'
您需要连接表格,因为您要返回的数据与过滤数据的表格不同。
【讨论】:
这可行,并且不包括任何不必要的表连接。一个好的经验法则是使用EXISTS 来验证表中不需要输出的值。否则,您将使用JOIN
SELECT stops.id, stops.name
FROM stops
WHERE EXISTS
(
SELECT 1 FROM route
WHERE route.stop = stops.id AND num = '4' AND company = 'LRT'
)
【讨论】:
select s.id, s.name
from stops s
inner join route r
on s.id = r.stop
where r.num= 4
AND r.company= 'LRT'
【讨论】:
它给你这个错误:
sql:“组语句”中的未知列“名称”
route 表中没有name。
表结构为:
stops(id, name)
route(num,company,pos, stop)
所以这个测验的答案是:
SELECT s.id, s.name
FROM route r, stops s
WHERE r.stop= s.id
and r.num = 4 AND r.company = 'LRT'
【讨论】: