エイリアスを使用してサブクエリを試行しました
SELECT
*,
IQ.EndPart,
IQ.QtyToShip
FROM
parts p
INNER JOIN (
select
*,
(case when c.kitno is null then l.partno else c.partno end) as [EndPart],
(case when c.kitno is null then l.TotalQuantity else c.reqqty end) as [QtyToShip]
FROM
shipments s
INNER JOIN shipments_li l ON s.ShipmentNo = l.ShipmentNo
LEFT JOIN ProductConfiguration c ON l.PartNo = c.KitNo WHERE s.Status='N' and year(s.OrderDate)>2007
) IQ ON p.partno = IQ.EndPart
EndPart としてエイリアス化されたパーツ # を使用して、パーツ テーブルを以下のクエリに結合する方法を探しています。ケースとエイリアスの代わりに2つの列を取り、それらを組み合わせた結果を達成する別の方法がある場合、それも優れた代替手段となります。同じことを達成するために他の個人のクエストをすべて検索した結果、エイリアスに基づいて結合を実行できないという結果が得られました。その時点では結果が決定されていないため、回避策としてサブクエリをお勧めします。作業結果を達成する方法がわかりません。上記のクエリは、私が機能させようとしたものです。どんな助けでも感謝します。前もって感謝します。
元のクエリ
SELECT
*,
(case when c.kitno is null then l.partno else c.partno end) as [EndPart],
(case when c.kitno is null then l.TotalQuantity else c.reqqty end) as [QtyToShip]
FROM
shipments s
INNER JOIN shipments_li l ON s.ShipmentNo = l.ShipmentNo
LEFT JOIN ProductConfiguration c ON l.PartNo = c.KitNo
WHERE
s.Status='N'
and year(s.OrderDate)>2007
order by s.shipmentno