phone_specs.model модель_телефона, color.name цвет, phone_specs.amount кол_во_телефонов, cable_specs.model модель_провода, cable_specs.amount кол_во_кабеля, charger_specs.model модель_зарядки, charger_specs.amount кол_во_зарядок, headphones_specs.model модель_наушников, headphones_specs.amount кол_во_наушников
FROM orders
JOIN phone_specs on (phone_specs.id_phone = orders.id_phone)
JOIN cable_specs on (cable_specs.id_cable = orders.id_cable)
JOIN charger_specs on (charger_specs.id_charger = orders.id_charger)
JOIN headphones_specs on (headphones_specs.id_headphones = orders.id_headphones)
JOIN service on (service.id_service = orders.id_service)
JOIN color on (color.id_color = phone_specs.id_color)
ребят, я вынул цвет телефона, а как вынуть цвет для зарядки например?
просто добавить связь нельзя, потому что color уже есть в запросе:
JOIN color on (color.id_color = charger_specs.id_color)
Добавь ещё, таблица может быть несколько раз указана в JOIN-ах
JOIN charger_specs on (charger_specs.id_charger = orders.id_charger) JOIN color ac ch_clr on (ch_clr.id_color = charger_specs.id_color) что-то типа того
Тут только одна может быть загвоздка — наверняка у тебя телефон и зарядки — один - ко многим. И тогда мало того, что телефоны будут множится, но ещё и дочерние атрибуты типа зарядки и наушники будут между собой перемножаться. (декартово произведение). Так что один-ко-многим тут нельзя JOIN-ить, а если можно, то только одну связь один-ко-многим, как максимум, две и более уже нельзя
хехе, действительно таблица выросла
Обсуждают сегодня