У меня есть 4 таблицы, как показано нижеВыборка данных из 4-х таблиц MySQL
Table1: restos
Структура:
resu_id resu_name resu_address
-------------------------------------
1 ABC Exapmple
2 DEF Example
3 GHD Example
table2: foodtype
Структура:
id typename
---------------
12 Indian
23 Punjabi
Table3: resto_foodtypes
Структура :
resu_id foodty_id
--------------------
1 12
2 23
3 12
Таблица 4: discnts
Состав:
id resu_id amt_dscPer(%age discount)
---------------------------
19 1 15
20 2 25
Теперь я хочу, чтобы отобразить ресторан вместе со скидками, доступных для restauarant. В настоящее время рестораны отображаются, но для ресторана, не присутствующего в таблице discnts
, возвращаются нулевые значения от discnts
стол.
ниже запрос, который использует
SELECT * from `restos` r join resto_foodtypes rf on rf.resu_id = r.resu_id
join foodtype f on rf.foodty_id = f.id left join discnts dcfm on
r.resu_id= dcfm.resu_id where true;
Я хочу, что рестораны, которые не присутствует в таблице discnts
не должны быть включены в результирующем. Напр. resu_id=3
нет в discnts
таблица.
@Jens. я ошибся здесь .. теперь исправлено –
'where true'? Что ты хочешь ? – Raptor
попробуйте левое соединение вместо соединения –