您好我有一個MySQL表與這些五列評估與mySQL的SELECT CASE色譜柱並返回三列作爲結果
1)ValidationSTS 2)Comprobante_Tipo_Comprobante 3)Comprobante_Subtotal 4)Impuesto_Trasladado 5)Comprobante_Total
因此,我需要評估第一個ValidationSTS,當等於「Cancelado」,然後乘以零,以獲得零作爲結果 Case Else然後傳遞給嵌套的SELECT CASE。
在嵌套的SELECT CASE I eval「Comprobante_Tipo_Comprobante」中,然後評估兩種情況:「ingreso」和「egreso」。 當Case等於「ingreso」時,結果將是「Comprobante_Subtotal」列 當Case等於「egreso」時,結果爲「Comprobante_Subtotal」列爲負值。
所以這是我的代碼,並返回一個列結果:
SELECT
CASE ValidationSts WHEN 'Cancelado' THEN 0*Comprobante_Subtotal
ELSE
CASE WHEN Comprobante_Tipo_de_Comprobante = 'egreso' THEN -1*Comprobante_Subtotal WHEN Comprobante_Tipo_de_Comprobante='ingreso' THEN Comprobante_Subtotal END
END
FROM facturas_recibidas WHERE Receptor_RFC= 'RFC' AND Emisor_RFC='RFCList' AND Comprobante_Fecha BETWEEN 'srchFechaInicial.SQLDate + " 00:00:00.000' AND
srchFechaFinal.SQLDate + " 23:59.59.997'
ORDER BY Comprobante_Fecha ASC"
正如我所說的,它的工作原理,但只能返回一列作爲結果。
但是如果我想返回三列呢? 例如:Comprobante_Subtotal,Impuesto和Comprobante_Total,並採用與Comprobante_subtotal相同的處理方式。
我試過用AND和用逗號分割失敗。 :(
任何線索 問候
我不是英國本地人,我是一個像你一樣的拉丁人。但我只想說恕我直言,西班牙語單詞的字段和變量名稱的使用不會幫助其他非拉丁語在您的代碼中找到含義。所以,即使這個問題可以很好,你也可以得到一些好的答案。 – dparoli