Я пытаюсь обработать данные для каждого case_type
для каждого state
, city
и court_complex
, чтобы добиться этого, я создал таблицу с именем case_pointer
, которая сохраняет комбинацию каждого извыше. В дополнение к case_pointer
, который показывает обработанные случаи, я также создал таблицу с именем skippers
, которая имеет идентификатор state_id, city_id, court_complex и case_type id. Шкиперы должны исключить штат, город или суд_комплекс из окончательной таблицы указателей
Вот мой запрос, но он работает наоборот. он показывает записи, которые существуют в шкиперах, а не исключая их.
SELECT cp.id AS case_pointerID,
ct.id AS caseTypeID,
ct.ct_id AS casetypeCode,
ct.cc_id AS cc_id,
ct.name AS caseTypeName,
co.wid AS complexCode,
co.id AS complex_id,
co.name AS courtName,
ci.id AS city_id,
ci.wid AS cityCode,
ci.name AS cityName,
st.id AS state_id,
st.name AS stateName,
st.wid AS stateCode
FROM case_types ct
LEFT JOIN court_complex co
ON ct.cc_id = co.id
LEFT JOIN city ci
ON co.city_id = ci.id
LEFT JOIN state st
ON ci.state_id = st.id
LEFT JOIN case_pointer cp
ON ct.id = cp.casetypeid
WHERE NOT EXISTS
(SELECT 1
FROM case_pointer cp
WHERE EXISTS (SELECT null
FROM skippers sk
WHERE sk.state_id = cp.state_id)
)
OR cp.id IS NULL
ORDER BY st.id ASC, ct.id ASC, co.id ASC
LIMIT 5
Пожалуйста, дайте мне знать, если я делаю что-то не так.