我有一個查詢:空表存在
SELECT g.name, s.hour, gs.weekday
FROM schedule s
INNER JOIN group_schedule gs ON gs.schedule_id = s.id
INNER JOIN groups g ON g.id = gs.group_id
WHERE EXISTS (
SELECT *
FROM group_schedule
WHERE group_id =6
)
ORDER BY g.name, gs.weekday
返回:
name hour weekday
A1-A2 10:00:00 1
A1-A2 17:00:00 1
A1-A2 10:30:00 1
A1-A2 17:30:00 1
A1-A2 18:00:00 2
A1-A2 11:30:00 2
A1-A2 18:30:00 2
A1-A2 11:00:00 2
A1-A2 12:30:00 3
但我需要太讓不具備這些組合行,例如:
name hour weekday
A1-A2 10:30:00 1
A1-A2 11:00:00 1
A1-A2 11:30:00 1
...
如果我使用NOT EXISTS,我會獲得一個空表。
它只是我或者是您的初始查詢group_id = 6中唯一的where-clause,我不知道「沒有這些組合」是什麼意思? – 2013-03-13 17:28:16
那麼你計劃不屬於第6組? – 2013-03-13 17:32:20
你的'exists'子句並沒有太多意義。如果你[編輯]你的問題提供一些樣本數據和你想要的結果,你可能會更好。 (請參閱[如何 在堆棧溢出中格式化SQL表 後?](http://meta.stackexchange.com/q/96125)如何添加一些內容。) – 2013-03-13 17:33:37