Sql server 连接表时缺少条件的计数

Sql server 连接表时缺少条件的计数,sql-server,Sql Server,我相信这并不难,但我不知道该用什么词在网上搜索答案。情况如下: 我有两个表,事务和事务细节。在连接表时,我需要修改事务中没有特定值的记录 Transaction Transaction Detail Tran ID tran_type Tran ID Tranhead_id 1 45 1 145 2 3 1 148 3 45

我相信这并不难,但我不知道该用什么词在网上搜索答案。情况如下:

我有两个表,事务和事务细节。在连接表时,我需要修改事务中没有特定值的记录

Transaction           Transaction Detail

Tran ID tran_type     Tran ID   Tranhead_id
1       45              1           145
2       3               1           148
3       45              2           230
                        2           467
                        3           220
                        3           310

我需要按tran_id连接这些表,然后选择tran_类型为45的交易记录,这些交易记录在tranhead_id=145的交易详细信息上没有匹配的记录。在这种情况下,tran_id 3将是唯一选择的记录。

我将在此处使用exists子句:

SELECT t.*
FROM [Transaction] t
WHERE
    tran_type = 45 AND
    NOT EXISTS (SELECT 1 FROM [Transaction Detail] td
                WHERE td.[Tran ID] = t.[Tran ID] AND td.Tranhead_id = 145);