Я фактически пытаюсь присоединиться к пяти таблицам в базе данных MySQL на основе RegionID, который является уникальным ключом, присутствующим во всех таблицах. Я новичок в этом и используя следующий левый присоединиться заявление:SQL Join for Five Tables
SELECT `tbllistings`.*,
`tblgallery`.*,
`tbltowns`.*,
`tblregions`.*,
`tblcontent`.*,
`tbllistings`.*,
`tblgallery`.*,
`tbltowns`.*,
`tblregions`.*,
`tblcontent`.*
FROM tbllistings
LEFT JOIN `webspace_db`.`tblregions`
ON `tbllistings`.`intregionid` = `tblregions`.`intregionid`
LEFT JOIN `webspace_db`.`tblcontent`
ON `tblregions`.`intregionid` = `tblcontent`.`intregionid`
LEFT JOIN `webspace_db`.`tblgallery`
ON `tblregions`.`intregionid` = `tblgallery`.`regionid`
LEFT JOIN `webspace_db`.`tbltowns`
ON `tblregions`.`intregionid` = `tbltowns`.`intregionid`
Проблема, что я облицовкой каждое значение показывает вверх более 20+ раз, и я не уверен, почему это происходит. Я действительно хочу просто объединить все поля из всех таблиц на основе RegionID.
Любая помощь и предложения приветствуются. Большое спасибо.
Это означает, что вам нужно больше данных фильтра, используя условие математического значения столбца .... добавьте по одной таблице и получите отличное значение. – Ajay2707
Попробуйте использовать 'INNER JOIN' вместо' LEFT JOIN'. – Rigel1121
INNER JOIN может избавиться от выходных строк, которые имеют все NULL из-за недостающих строк, но не будут дедуплироваться. DISTINCT будет выводить строки. Очистка запроса избавится от дублированных _columns_. –