У меня есть две таблицы:Выравнивание по левому краю с использованием строки с условием
exp_channel_titles
exp_relationships
Я хочу, чтобы выбрать различные строки из левой таблицы (exp_channel_titles), где они имеют отношение, определенное в exp_relationships. Я могу сделать это с помощью:
SELECT DISTINCT exp_channel_titles.title
FROM exp_channel_titles
LEFT JOIN exp_relationships
ON exp_channel_titles.entry_id=exp_relationships.child_id
WHERE exp_relationships.child_id IS NOT NULL
AND exp_channel_titles.channel_id=5
AND exp_channel_titles.status='open'
Проблема заключается в том, я хочу, чтобы убедиться, что exp_channel_titles.status = «открытым» для строк, используемых в отношениях. Мне трудно найти голову, поэтому я попытаюсь объяснить лучше.
exp_channel_titles содержит что-то вроде:
entry_id | название | статус | channel_id
1 | няня | открыть | 2
2 | уход за детьми | открыть | 5
3 | няня | открыть | 2
4 | деловое администрирование | открыть | 5
5 | портье | закрытый | 2
exp_relationships определяет отношения между рядами в exp_channel_titles использованием exp_channel_titles.entry_id, как exp_relationships.parent_id и exp_relationships.child_id. Таким образом, указанные строки будут иметь следующие отношения:
parent_id | child_id
1 | 2
3 | 2
5 | 4
Так запрос я обрисовал выше дал бы мне:
уход за детьми
делового администрирования
Но поскольку единственная запись связана с бизнес-администрирования (приемной) имеет статус «закрытого» я не хочу этот элемент появится. Я хочу, чтобы запрос возвращал только уход за детьми.
Что ваш запрос возвращения? На первый взгляд, все выглядит нормально. Хотя, если вам требуются отношения между таблицами, вам не нужно делать LEFT JOIN. Вы можете просто сделать обычный JOIN и избавиться от предложения WHERE child_id IS NOT NULL. –
Он возвращает уход за детьми и управление бизнесом. Если я делаю обычный JOIN и избавляюсь от WHERE child_id IS NOT NULL, он по-прежнему не применяет exp_channel_titles.status = 'open' к строкам, используемым в JOIN. т. е. я все еще вижу деловое администрирование. – user2265915
Можете ли вы изменить свой вопрос, чтобы включить пример того, как выглядит таблица/данные exp_relationship? –