Sql 从内部联接中的2个表获取数据
我对内部联接并不陌生,但我不知道为什么要从两个表中获取数据 看,我有一些桌子 表一Sql 从内部联接中的2个表获取数据,sql,join,inner-join,Sql,Join,Inner Join,我对内部联接并不陌生,但我不知道为什么要从两个表中获取数据 看,我有一些桌子 表一 select TransactionMId,ModelNumber,EmeiNo,Color from tblTransactionD TransactionMId型号EmeiNo颜色 c174f2c0-72f4-4746-b83d-21ffca6a5a61 620G 10001灰色 c174f2c0-72f4-4746-b83d-21ffca6a5a61一个10005黑色 4fa11531-886a-4d1
select TransactionMId,ModelNumber,EmeiNo,Color from tblTransactionD
TransactionMId型号EmeiNo颜色
c174f2c0-72f4-4746-b83d-21ffca6a5a61 620G 10001灰色
c174f2c0-72f4-4746-b83d-21ffca6a5a61一个10005黑色
4fa11531-886a-4d15-af5c-7355cc3648f5 620G 10001灰色
表二
select TransactionMId,ModelNumber,EmeiNo,Color from tblTransactionP
TransactionMId型号EmeiNo颜色
c174f2c0-72f4-4746-b83d-21ffca6a5a61 620G 10001灰色
c174f2c0-72f4-4746-b83d-21ffca6a5a61一个10005黑色
表三
select TransactionMId,ModelNumber,EmeiNo,Color from tblTransactionS
TransactionMId型号EmeiNo颜色
4fa11531-886a-4d15-af5c-7355cc3648f5 620G 10001灰色
现在我想显示表1和表2中的数据,但不是表3中的数据
select TransactionMId,ModelNumber,EmeiNo,Color from tblTransactionS
这是我内心的连接
SELECT TD.BrandId,TD.Color,TD.EmeiNo FROM dbo.tblTransactionD AS TD
INNER JOIN dbo.tblTransactionP AS TP
ON
TP.transactionMId=TD.transactionMId
INNER JOIN dbo.tblTransactionS AS TS
ON
TP.EmeiNo != TS.EmeiNo
但执行的结果显示的数据如下
BrandId Color EmeiNo
1 grey 10001
1 black 10005
查询中不应显示10001的记录,因为它位于表3中
select TransactionMId,ModelNumber,EmeiNo,Color from tblTransactionS
我的内心连接有什么问题如果我正确理解了你的问题,你可以这样尝试
SELECT TD.BrandId,TD.Color,TD.EmeiNo FROM dbo.tblTransactionD AS TD
INNER JOIN dbo.tblTransactionP AS TP
ON TP.transactionMId=TD.transactionMId
where TP.EmeiNo not in (select distinct EmeiNo from dbo.tblTransactionS);
由于您的描述tblTransactionS(三个表),因此不需要加入。以下查询将起作用:
SELECT TD.BrandId,TD.Color,TD.EmeiNo FROM dbo.tblTransactionD AS TD
INNER JOIN dbo.tblTransactionP AS TP
ON
TP.transactionMId=TD.transactionMId
where TP.EmeiNo not in (select distinct EmeiNo from dbo.tblTransactionS);
10005与10001不同,因此在检查与10005相关的记录时,条件(TP.EmeiNo!=TS.EmeiNo)有效。。。根据数据和查询,结果是正确的:-p您使用的是哪个数据库?输出不显示10001,如表3所示。所以,是的,不需要加入第三个表,但需要条件来消除第三个表中的
EmeiNo
。因此,上述查询将不起作用。