Хорошо, я пытаюсь узнать, как лучше выполнить поиск.
У меня 40 столов. В 40 таблицах все таблицы имеют 2 одинаковых столбца, идентификатор и дату; все таблицы, очевидно, имеют другие столбцы, которые не совпадают.
Теперь не каждая таблица используется пользователем. Пользователь может использовать 5 таблиц, он может использовать все 40. Также к идентификаторам может быть прикреплено несколько дат. Я хотел бы получить ВСЕ даты из всех 40 таблиц из идентификатора без дубликатов. АКА, если таблица 1 и таблица 10 имеют одну и ту же дату, я хочу ее только 1 раз.
Итак, у меня есть несколько вопросов.
Первый способ, который я прочитал, - это.
$stmt = $this->con->prepare("SELECT date FROM table1
left join table2 on table1.id = table2.id
left joins for table2--->table40
WHERE ID = ?
GROUP BY date");
Второй способ, который я видел, такой:
$stmt = $this->con->prepare("SELECT Distinct date FROM table1
left join table2 on table1.id = table2.id
left joins for table2--->table40
WHERE ID = ?");
и третий способ, который я прочитал, - это. (их слова не мои)
«По своему опыту (который ограничен между прочим) я использовал для этого запрос равного соединения. Позвольте мне показать вам пример.
Рассмотрим три таблицы с именами Table1, Table2 и Table3 с общим столбцом с именем Code (обращенным к ID). Приведенный ниже фрагмент кода объединяет эти три таблицы без дубликатов: "
select date from Table1, Table2, Table3..... where Table1.ID=Table2.ID=Table3.ID......;
Теперь мой вопрос: как мне правильно выполнить этот поиск?
Должен возвращаться список дат, найденных для 1 идентификатора (который ищется) без дубликатов.