非常に新しい SQL Server で、SQL Server 2008 を使用しています。テーブル A とテーブル B の 2 つのテーブルがあります。
テーブル A を、テーブル B の一致する文字列の数で更新したいと考えています。これは、静的 varchar を宣言することによって思いついたものです。テーブルBでレコードが挿入/更新されるたびに、テーブルAのすべてのレコードの手順でそれを実行したいと思います.
TABLE A: **PO**, Count, Closed Table B: **LD**
24A, 0, 0, 24A-1
25A, 0, 0, 24A-2
26A, 0, 0, 25A-3
26A-1
26A-2
私が試したコード:
Declare @POTableA AS VARCHAR(15)
SET @POTableA = '24A'
Update TABLE A
SET TableA.Count =(Select Count(*) AS 'Count_LD' FROM TABLE B
WHERE TableB.LD LIKE '%'+@POTableA+'-%')
FROM TABLE B WHERE TABLEA.PO LIKE '%'+@POTableA+'%'
現在の結果:
TABLE A: **PO**, Count, Closed Table B: **LD**
24A, 2, 0, 24A-1
25A, 0, 0, 24A-2
26A, 0, 0, 25A-3
26A-1
26A-2
望ましい結果:
TABLE A: **PO**, Count, Closed Table B: **LD**
24A, 2, 0, 24A-1
25A, 1, 0, 24A-2
26A, 2, 0, 25A-3
26A-1
26A-2