0

あるクエリの出力を別のクエリの値として使用するのに問題があります。問題は、次のクエリを使用して1つの製品の価格を取得する必要があることです(これは正常に実行されます)。

SELECT Cena FROM Proizvod WHERE ProzivodID = $PID

$ PIDはPHP変数であり、このクエリは問題なく機能します。問題は、購入者の残高から製品の価格を差し引きたいときに発生します。私は次のクエリでそれをやろうとしました:

UPDATE Kupuvac SET Saldo = Saldo - ".$cena." WHERE KupuvacID=$KID

$ cenaはPHP変数であり、その値が最初のクエリです。

2番目のクエリはまったく機能せず、エラーメッセージは返されませんが、購入者の残高は変わりません。


誰かがそれを必要とする場合の短い辞書: Cena - Price; Proizvod - Product; Kupuvac - Buyer; Saldo - Balance

前もって感謝します!

4

2 に答える 2

2

UPDATE1つのステートメントで操作を実行できます。

UPDATE Kupuvac a
CROSS JOIN
(
    SELECT Cena FROM Proizvod WHERE ProzivodID = $PID
) b
SET a.Saldo = a.Saldo - b.Cena
WHERE a.KupuvacID = $KID
于 2012-07-07T19:58:12.647 に答える
2

これらを1つのクエリにまとめることはできませんか?

UPDATE Kupuvac 
SET Saldo = Saldo - (SELECT Cena FROM Proizvod WHERE ProzivodID = $PID) 
WHERE KupuvacID = $KID
于 2012-07-07T19:59:07.627 に答える