[英]Left outer join to a generated table?
我的做法完全錯誤嗎? 我想對從2個表生成的查詢進行左外部聯接,但我不斷出錯。 我需要其他方法嗎?
1:
ID, Surname,Firstname
2:
ID,JobNo,Confirmed
我有以下查詢:
SELECT JobNo AS N, StaffID AS P, Confirmed as C,
FirstName AS F,Surname AS S
FROM gigs_players, Players
WHERE t1.StaffID=t2.StaffID AND JobNo="2"
AND (`Confirmed` IS NULL OR Confirmed ='Y' )
ORDER BY Instrument,Surname
我要添加:
LEFT OUTER JOIN contacted (ON t1.StaffID=contact.ID AND t2.JobNo=contact.JobNo)"
我可以對從2個表生成的查詢進行left outer join
聯接嗎?
為了在要添加的左外部t2
中使用t1
和t2
,需要將它們與第一個表聯接,您不能在左外部聯接中直接引用它們,如下所示:
SELECT JobNo AS N, StaffID AS P, Confirmed as C,
FirstName AS F,Surname AS S
FROM gigs_players, Players
Inner join t1 on ...
Inner join t2 on ...
LEFT OUTER JOIN contacted c
on t1.StaffID=c.ID AND t2.JobNo = c.JobNo
WHERE t1.StaffID=t2.StaffID AND JobNo="2"
AND (`Confirmed` IS NULL OR Confirmed ='Y' )
ORDER BY Instrument,Surname
因此,根據表的結構,用t1
和t2
其他表的兩個聯接的條件。
這是左連接子查詢的示例。 這可能是您要尋找的。
select
parts.id,
min(inv2.id) as nextFIFOitemid
from test.parts
left join
( select
inventory.id,
coalesce(parts.id, 1) as partid
from test.inventory
left join test.parts
on (parts.id = inventory.partid)
) inv2
on (parts.id = inv2.partid)
group by parts.id;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.