0
同じテーブルの2種類のデータをビューに収めようとしています。別の別名で同じテーブルに結合を追加しようとしましたが、いくつかのnull値が発生しました。異なるテーブルの同じデータが同じビューにある
可能であれば、データテーブルを1行にします。私はこれも共用体演算子で行うことができますが、それは複数の行を引き起こすことを知っています。ここで
は私の選択
SELECT
COUNT(PO.OrderID) AS MerkezOnaySiparisAdet, SUM(PO.TotalPromotionPrice) AS MerkezOnayToplamSatis,
COUNT(PO2.OrderID) AS DepoOnaySiparişAdet, SUM(PO2.TotalPromotionPrice) AS DepoOnayToplamSatis
FROM PrmOrder PO
LEFT JOIN PrmOrder PO2 ON PO.OrderID = PO2.OrderId AND (PO2.OrderStatusID != 1 AND PO2.IsOrderApproved = 1 AND PO2.IsInventoryApproved = 0 AND (PO2.OrderStatusID = 2 OR PO2.OrderStatusID = 3))
WHERE 1=1
AND PO.OrderStatusID != 1
AND PO.IsOrderApproved = 0
AND (PO.OrderStatusID = 2 OR PO.OrderStatusID = 3)
これを行うための正しい方法は何ですか?ですか
サンプルデータと希望の結果を提供してください。 – GuidoG
ここから始めましょう。 http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –
問題は左結合を実行していることです。すべてを選択します。結合条件が満たされていない場合、POからの行をPO2に変換し、PO2にはNULLを移入します。内部結合を行うか、あるいはIDで結合し、PO2の他の条件をwhere節に持ち込む必要があるかもしれません。 – Jayvee