此查詢用於打印JOINED表,其中creditcard
列顯示每個行 的「現金」,其中沒有卡名稱。SQL中的JOIN查詢中的CASE語句
我寫了下面,但它會導致錯誤:
SELECT st.Name Territoryname,pp.LastName SalesPerson,ps.Name ShipMethod,
sc.CardType CreditCardType,
soh.OrderDate,soh.TotalDue
FROM Sales.SalesOrderHeader soh
JOIN Person.Person pp
ON soh.SalesPersonID=pp.BusinessEntityID
JOIN Purchasing.ShipMethod ps
ON ps.ShipMethodID=soh.ShipMethodID
JOIN Sales.CreditCard sc (CASE WHEN sc.CardType='Distinguish' THEN 'Cash' ELSE sc.CardType END),
ON sc.CreditCardID=soh.CreditCardID
JOIN Sales.SalesTerritory st
ON st.TerritoryID=soh.TerritoryID
什麼是錯誤? – showdev 2014-10-28 22:24:59
這取決於我在哪裏陳述。在這種情況下,錯誤是「關鍵字'CASE'附近的語法錯誤」 – PureData1 2014-10-28 22:25:41
上述代碼中的語法現在是正確的,它不會引發任何錯誤。 – 2014-10-28 22:30:23