0
我试图返回所有的房间没有在ts_allocation表中存在(即尚未分配),或者有悬而未决,在ts_allocation表故障或拒绝状态。房间可以满足其中一个条款。SQL查询省略某些值
但是有几个值如D.0.02被忽略(请参考小提琴)?为什么是这样?它存在于具有上述状态的ts_allocation - 但它似乎没有满足某个条款。我该如何解决这个问题?
这里是我的SQLFiddle:http://sqlfiddle.com/#!2/e1021/6
SELECT
*
FROM
ts_room rm
WHERE
NOT EXISTS (
SELECT 1
FROM ts_roompref rp
JOIN ts_request rq
ON rp.request_id = rq.id
AND day_id = 1
AND period_id = 1
WHERE
rm.id = rp.room_id)
AND NOT EXISTS (
SELECT 1
FROM ts_roompref rp
JOIN ts_allocation a
ON rp.request_id = a.request_id
AND a.status <> 'Pending'
AND a.status <> 'Failed'
AND a.status <> 'Declined'
WHERE
rm.id = rp.room_id)
请将您的问题简化为相关部分,并且不仅在小提琴中发布这些细节。 – 2013-02-19 02:08:13
重复:http://stackoverflow.com/questions/14947940/changing-sql-query-from-one-condition-to-several/14948960#14948960,不要多次发布相同的查询 – Tahbaza 2013-02-19 02:55:08