2016-11-23 70 views
-5

當我在創建視圖構造中使用此代碼時,它返回空結果集。 我已經嘗試過使用列名後的情況,並刪除了當時行的列名...沒有改變...任何想法。我已經確定了問題的情況下,聲明註釋出來,並運行它,它工作正常,然後....MySql case case error

CREATE or REPLACE VIEW orderMSTRview 
AS 
SELECT SB.name "Brand", O.orderID "Order ID", O.orderRecID "Record ID", O.orderDate "Date Created", 
O.salesRepName "Sales Rep Name", O.salesRepEmail "Sales Rep Email", 
O.orderNumer "Order Number", O.orderType "Order Type", 
CASE 
    when fulfillStatus = 0 then 'open' 
    when fulfillStatus = 1 then 'processing' 
    when fulfillStatus = 2 then 'complete' 
    when fulfillStatus = 5 then 'Shipped' 
    when fulfillStatus = 9 then 'void' 
END as "Order Status" , 
IF(O.payStatus=0,'unpaid','paid') "Payment Status", 
O.totalOrderQuantity "Total Order Quantity", 
O.subtotalOrderValue "Subtotal Order Value", 
O.totalOrderValue "Total Order Value", O.credit "Order Credit", 
O.taxAmount "Tax Amount", O.shippingCost "Shipping Cost", 
O.finalInvoiceValue "Invoice Amount", O.currency "Currency", 
O.shipDate "Ship Date", O.cancelAfter "Cancel Date", O.terms "Terms", 
O.buyerName "Buyer Name", O.buyerEmail "Buyer Email", O.buyerPhone "Buyer Phone", O.custCode1 "Customer Code1", O.custCode2 "Customer Code2", 
O.custERP "Customer ERP", O.customerPO "Customer PO", O.custVat "VAT number", 
O.billToName "Bill To Name", O.billToStreet1 "Bill To Address1" , 
O.billToStreet2 "Bill To Address2", O.billToCity "Bill To City", 
O.billToState "Bill To State", O.billToZip "Bill To Zip code", 
O.shipToName "Ship To Name", O.shipToStreet1 "Ship To Address1", 
O.shipToStreet2 "Ship To Address2", 
O.shipToCity "Ship To City", O.shipToState "Ship To State", 
O.shipToZip "Ship To Zip code", 
O.tagname1 "Tag 1", O.tagname2 "Tag 2", O.tagname3 "Tag 3" 
FROM orders as O left join showroom_brand as SB on O.showroomID = SB.sid 
WHERE O.orderDate >= '2015-01-01' and SB.name IS NOT NULL; 
+0

任何樣本數據? – ydoow

+0

它在一個大型的模式......沒有什麼數據......但感謝 – TRex

回答

0

做這樣的例子:

嘗試運行此

set @fulfillStatus = 1; 
    select 
    CASE 
     when @fulfillStatus = 0 then 'open' 
     when @fulfillStatus = 1 then 'processing' 
     when @fulfillStatus = 2 then 'complete' 
     when @fulfillStatus = 5 then 'Shipped' 
     when @fulfillStatus = 9 then 'void' 
    else "None" 
    END as "Order Status" 
+0

案例邏輯上是這樣的:案件時,然後______否則_______結束這就是爲什麼它返回給你一個錯誤因爲你沒有其他近端。 –

+0

我添加了else子句並且沒有更改...感謝您的迴應 – TRex

+0

什麼錯誤返回? –