簡體   English   中英

左外部聯接到生成的表?

[英]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中使用t1t2 ,需要將它們與第一個表聯接,您不能在左外部聯接中直接引用它們,如下所示:

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

因此,根據表的結構,用t1t2其他表的兩個聯接的條件。

這是左連接子查詢的示例。 這可能是您要尋找的。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM