Я пытаюсь вернуть все номера, которые не существуют в 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)
Пожалуйста, упростите вашу проблему в соответствующих частях и разместите эти детали не только в скрипке. –
duplicate: http://stackoverflow.com/questions/14947940/changing-sql-query-from-one-condition-to-several/14948960#14948960, не отправляйте один и тот же запрос несколько раз – Tahbaza