0
У меня есть 4 таблицы:Mysql РЕГИСТРИРУЙТЕСЬ одну таблицу с несколькими таблицами
ADS
: идентификатор, текст, номер
TABLE2
: идентификатор, user_id, номер
TABLE3
: идентификатор, user_id, номер
TABLE4
: id, user_id, номер
user_id не уникален. Может существовать или нет.
Выход Я хотел бы иметь:
Если номер из ADS
таблицы равно числу из TABLE1
ИЛИ TABLE2
ИЛИ TABLE3
, отображение текста - только из них.
Я пробовал:
SELECT ADS.text FROM ADS
LEFT JOIN TABLE2 ON TABLE2.user_id = ?
LEFT JOIN TABLE3 ON TABLE3.user_id = ?
LEFT JOIN TABLE4 ON TABLE4.user_id = ?
WHERE ADS.number = TABLE2.number OR
ADS.number = TABLE3.number OR
ADS.number = TABLE4.number
GROUP BY ADS.id
и
SELECT * FROM
(
SELECT
ADS.text FROM ADS
LEFT JOIN TABLE2 ON TABLE2.user_id = ?
LEFT JOIN TABLE3 ON TABLE3.user_id = ?
LEFT JOIN TABLE4 ON TABLE4.user_id = ?
WHERE ADS.number = TABLE2.number OR
ADS.number = TABLE3.number OR
ADS.number = TABLE4.number
UNION ALL
SELECT
ADS.text FROM ADS
LEFT JOIN TABLE2 ON TABLE2.user_id = ?
LEFT JOIN TABLE3 ON TABLE3.user_id = ?
LEFT JOIN TABLE4 ON TABLE4.user_id = ?
WHERE ADS.number = TABLE2.number OR
ADS.number = TABLE3.number OR
ADS.number = TABLE4.number
) request
ORDER BY ADS.id
$reponse->execute(array($_SESSION['id'],$_SESSION['id'],$_SESSION['id']));
Я всегда слишком много или недостаточно выход ...
Вы можете отредактировать свой вопрос и предоставить образцы данных и желаемые результаты? –