我可以想象这个问题以某种方式存在,但我还没有找到我想要的东西。
我需要从我在主查询中获得的结果中删除找到的值。
请考虑以下几点:
主查询:
SELECT idTable
FROM tblTables
WHERE NOT IN idTables = ( **SUBQUERY HERE** )
AND dtSeats >= 4
LIMIT 1;子查询:
SELECT idTable
FROM tblTables,tblReservation
WHERE tblTables.idTable = tblReservation.fiTable
AND fiTime = 1
AND dtResDate = "2020-06-16"在tblTables中有idTable和dtSeats。
在tblReservation中有fiTime和dtResDate。
子查询最多可以获得三行。我需要得到第一张空桌,座位数尽可能少。
谢谢你帮我的忙!
发布于 2020-06-16 08:04:23
拥有DDL和一些示例数据会很有帮助,但我认为您正在寻找的是一个NOT EXISTS子句。它返回外部查询中与内部查询中的记录不匹配的所有内容。
SELECT idTable
FROM tblTables tt
WHERE NOT EXISTS (
SELECT NULL FROM tblReservation tr WHERE tt.idTable = tr.idTable AND
tr.dtResDate = '2020-06-16'
)
AND dtSeats >= 4
ORDER BY tt.dtSeats
LIMIT 1https://stackoverflow.com/questions/62378295
复制相似问题