0

case ステートメント内でサブクエリを使用できますか? これは可能ですか?
これが私のコードです:

SELECT SUM(icd.discrepancy * (
    CASE WHEN $priceVal = 1 
    THEN SELECT i.dPrice FROM item_tb i 
    WHERE i.ID = icd.itemID
    ELSE SELECT p.dPrice FROM price_tb p 
    WHERE p.brID = '". $brID ."' AND p.itemID = icd.itemID
    END
)) as total
FROM invcountd_tb icd
WHERE icd.coID = '". $_SESSION['coID'] ."'
AND icd.invCounthID = '". $ID ."'
4

3 に答える 3

1

はい、できますが、サブクエリを括弧で囲む必要があります ee:

CASE WHEN $priceVal = 1 THEN (SELECT i.dPrice FROM item_tb i WHERE i.ID = icd.itemID)                           
 ELSE (SELECT p.dPrice FROM price_tb p WHERE p.brID = '". $brID ."' AND p.itemID = icd.itemID)                           
 END

ただし、複数の行が返された場合でもエラーが発生する可能性があります

于 2013-10-29T09:11:45.040 に答える