gpt4 book ai didi

mysql - 从两个表中检索数据但排除某些数据

转载 作者:行者123 更新时间:2023-11-29 06:40:58 25 4
gpt4 key购买 nike

我有 2 个表,请考虑以下内容。

文章

ART_ID
ART_NAME

交易

TRA_ID
ART_ID (FK)
TRA_STATUS

我需要在 ArticlesTransaction 中都可用的数据,但是对于来自 Transaction 的数据,TRA_STATUS 应该是等于'A'

这是我已经尝试过的查询

SELECT  ART_NAME 
FROM Articles
INNER JOIN Transaction ON Transaction.ART_ID = Articles.ART_ID
WHERE TRA_STATUS='A'

我已经尝试过使用外部连接从两个表中获取数据,但我似乎无法在 TRA_STATUS 应等于“A”的位置使用最后一个过滤器,如果我只是添加一个 where 条件,它将从 Articles 中删除数据好吧。

最佳答案

我猜您想查看文章中的所有行,但只查看交易中的匹配行。

如果是这种情况,过滤器需要是一个连接条件:

SELECT  
a.ART_ID,
a.ART_NAME,
t.TRA_ID,
t.TRA_STATUS
FROM
Articles a
LEFT JOIN Transaction t ON t.ART_ID = a.ART_ID AND t.TRA_STATUS LIKE 'A'

如果您在 WHERE 子句中进行过滤,则 LEFT JOIN 实际上变成了 INNER JOIN。

关于mysql - 从两个表中检索数据但排除某些数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21630340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com