есть 3 таблицы
category c полями (cid,name)
sklad c полями (sid,data_s)
magazin c полями (mid,data_m)
надо вывести примерно так
Категория1
склад_а1 магазин_а1
склад_б1 магазин_б1
Категория2
склад_а2 магазин_а2
склад_б2
Категория3
Категория4
склад_а4
склад_б4 магазин_б4
склад_в4
Категория5
Категория6
склад_а6
склад_б6
dilp, нужно добавить поля по которым таблицы (записи в таблицах будут объединяться)
sid и mid одинаковы и соответствуют сid
dilp, примерный запрос
select * from category join sklad join mag on category.id = sklad.catid, sklad.id = mag.sklid
Добавлено: 28.06.2017 / 00:40
dilp, тогда поля одинаковые в каждой таблице назови одним именем (id например)
select * from category join sklad join mag using(id)
Добавлено: 28.06.2017 / 00:41
но на самом деле надо выбирать таблицы в обратном порядке. то есть от магазина к складу и к кстегории
я обьединяю, но рисует по двадцать раз тоже самое ,потом двадцать раз другое, по двадцать раз третье,потом еще пару раз повторяет ту же скатерть
dilp, тогда в поля указывай что нужно выбрать, то есть под запросы, но там сложнее, ну а чтобы лишнее не выбирало, уже звездочку меняем на список полей нужных
надо просто в пма залезть и полидеть часульку и родится норм варик
Добавлено: 28.06.2017 / 00:46
# dilp (28.06.2017 / 00:43)
я обьединяю, но рисует по двадцать раз тоже самое ,потом двадцать раз другое, по двадцать раз третье,потом еще пару раз повторяет ту же скатерть
ну и еще есть такая штука как distinct и group by дубли уберет
Добавлено: 28.06.2017 / 00:56
еще вариант вспомнил
select * from category, sklad, mag
но медленее
Group помогло с дублями, но оказалось что выводит только половину списка
dilp, ты в примере в ПП написал что не везде есть магазины, от этого результат не ожидаемый