编写SQL查询以根据另一个表中的值获取所有记录(不是连接案例)

时间:2018-01-19 09:46:10

标签: mysql

我有两张表,AccountTracking
Account表具有ID(int数据类型)
Tracking表有AccountID(FK)和Status(字符串数据类型)

我想编写MySQL查询。

我的目标是让所有帐户的ID号码大于Tracking表中记录的最大ID号

OR

所有帐户Status"失败"在跟踪表中。

请帮助

2 个答案:

答案 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声明的一部分