我有两张表,Account
和Tracking
Account
表具有ID
(int数据类型)
Tracking
表有AccountID
(FK)和Status
(字符串数据类型)
我想编写MySQL查询。
我的目标是让所有帐户的ID
号码大于Tracking
表中记录的最大ID号
OR
所有帐户Status
"失败"在跟踪表中。
请帮助
答案 0 :(得分:1)
我将这个问题视为2个不同的查询。 如果您不想使用连接,则可以使用子查询。
<强>查询1:强>
select * from Account where id > (select max(AccountID) from Tracking);
<强> QUERY2:强>
select * from Account where id in (select distinct AccountID from Tracking where status = "Failed");
答案 1 :(得分:1)
如果我理解正确:
SELECT *
FROM Account a
JOIN Tracking t
ON a.ID = t.AccountID
WHERE (a.ID > (SELECT MAX(AccountID) FROM Tracking)) OR
(t.Status = 'Failed')
您需要定期加入,但使用子查询来获取大于&#34;的ID。您OR
声明的一部分