2017-04-08 7 views
0

ich eine Abfrage mit Ergebnissen zu GridviewCase-Anweisung mit WHERE-Klausel

SELECT DISTINCT 
    Order_Header.Id, Order_Header.Payment_Id, Order_Header.Order_No 
FROM 
    Order_Header 
INNER JOIN 
    Order_Shipping_Detail ON Order_Header.Id = Order_Shipping_Detail.Order_Id 
LEFT OUTER JOIN 
    cod_orders ON cod_orders.Order_Id = Order_Header.Id 
WHERE 
    Status = 2 

jedoch zu bekommen, muss ich alle Aufträge zurückzukehren, in dem Status = 2 und Aufträge, bei denen die Zahlung Id Kabeljau (auch status = 2) und cod_orders.Is_confirmed = 1.

Kann ich eine CASE-Anweisung dafür verwenden?

Wenn ich dies jedoch versuche, erziele ich meine Ergebnisse.

SELECT DISTINCT Order_Header.Id, order_Header.Payment_Method_Id,Order_Header.Order_No 
FROM Order_Header INNER JOIN Order_Shipping_Detail 
ON Order_Header.Id = Order_Shipping_Detail.Order_Id 
LEFT JOIN cod_orders 
ON cod_orders.Order_Id = Order_Header.Id 
WHERE Status = 2 and Payment_Method_Id != 6 
UNION 
Select DISTINCT Order_Header.Id, order_Header.Payment_Method_Id,Order_Header.Order_No 
FROM Order_Header INNER JOIN Order_Shipping_Detail 
ON Order_Header.Id = Order_Shipping_Detail.Order_Id 
LEFT JOIN cod_orders 
ON cod_orders.Order_Id = Order_Header.Id 
WHERE Status = 2 AND cod_orders.Is_Confirmed = 1 

Kann ich diese in eine Abfrage zusammenführen?

+0

es ist besser, wenn Sie Beispieldaten zur Verfügung stellen und erwartete Ausgabe in Frage –

+0

Haben Sie versucht, 'CASE' Anweisung in' WHERE'? – Fabio

Antwort

0

Ich glaube, Sie 2 Bedingungen wie diese

fusionieren könnten
SELECT DISTINCT Order_Header.Id, Order_Header.Payment_Id,Order_Header.Order_No 
FROM Order_Header INNER JOIN 
    Order_Shipping_Detail 
    ON Order_Header.Id = Order_Shipping_Detail.Order_Id LEFT OUTER JOIN 
    cod_orders 
    ON cod_orders.Order_Id = Order_Header.Id 
WHERE Status = 2 and (Payment_Method_Id != 6 or cod_orders.Is_confirmed = 1) 
+0

Es gibt alle Zeilen – user1377504

+0

@ tnv Ich aktualisierte meine Frage. – user1377504

+0

Ich habe meine Antwort bearbeitet ... – TriV