0

私はSQLでかなり新しいです。

私は次のものが欲しい:

SELECT transID from tblTrans WHERE transDesc = @TransDesc

UPDATE tblData SET Complete = GETDATE() WHERE transNo = (Result from First Query)

最初のクエリの結果を 2 番目のクエリに入れる方法を教えてください。

4

4 に答える 4

2

これには 2 つの方法があります。1 つ目はオリジナルに続き、transID が 1 つしかないことを前提としています。

DECLARE @transID int

SELECT @transID = transID from tblTrans WHERE transDesc = @TransDesc

UPDATE tblData SET Complete = GETDATE() WHERE transNo = @transID

2 つ目は、更新全体を 1 つのコマンドにまとめているため、より適切です。

UPDATE tblData SET Complete = GETDATE()
    FROM tblTrans t
    WHERE t.transID = tblData.transNo
      AND t.transDesc = @TransDesc
于 2013-06-28T15:16:17.650 に答える
0
UPDATE tblData 
SET Complete = GETDATE() 
WHERE transNo IN
    (SELECT transID 
     from tblTrans 
    WHERE transDesc = @TransDesc)
于 2013-06-28T15:15:08.443 に答える