I have a table transaction
, which has 3 rows, but I want update only one row:
debit | Voucher no |
---|---|
4000 | cp/1 |
3000 | cp/1 |
200 | cp/1 |
I want to update the value of 3000 in T-SQL:
UPDATE transac
SET CID = (SELECT CID
FROM CUSTOMER
WHERE NAME = 'CASH'),
CREDIT = 12,
DATE = CONVERT(DATE, '13-02-2014', 105),
VCHTYPE = 'PAYMENT',
SID = (SELECT SID FROM CUSTOMER
WHERE NAME = 'MANOJ')
WHERE TID = (SELECT MAX (TID)
FROM transac
WHERE VOUNO = 201)
New contributor
Rajnish Pandey is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
1
Below is the solution for the update row where debit is 3000 and Voucher_no is ‘cp/1’ with the specified values.
UPDATE transac
SET CID = (SELECT CID FROM CUSTOMER WHERE NAME = 'CASH'),
CREDIT = 12,
DATE = CONVERT(date, '13-02-2014', 105),
VCHTYPE = 'PAYMENT',
SID = (SELECT SID FROM CUSTOMER WHERE NAME = 'MANOJ')
WHERE debit = 3000
AND Voucher_no = 'cp/1';
This ensures only the row with debit value 3000 and Voucher_no ‘cp/1’ will be updated.