我有三张桌子。其中一个表是主表(TRIP)。另外两个表具有主表的外键。我想查询两个表中的数据和每个表上的条件。这是我的代码:
SELECT L#
FROM TRIP
WHERE REG# IN
(
SELECT REG#
FROM TRUCK
WHERE REG# = 'PKR768'
)
AND T# IN
(
SELECT T#
FROM TRIPLEG
WHERE TRIPLEG.DEPARTURE = 'Melbourne'
)
错误=缺少右括号
编辑后:
只有一个从TRUCK表返回的行,因此整个输出不应超过1行,但不超过1。
答案 0 :(得分:2)
警告我对mysql并不是特别熟悉,但我会更自然地将此查询表达为
select tp.l#
from truck t
inner join trip tr on tr.reg# = t.reg#
inner join tripleg tl on tl.t# = tr.t# and tl.departure = 'Melbourne'
where t.reg# = 'PKR768'
答案 1 :(得分:1)
您在第二个查询中缺少WHERE
子句。将其更改为:
SELECT T#
FROM TRIPLEG
WHERE TRIPLEG.DEPARTURE = 'Melbourne'