Общие > Базы данных

Связь многие-ко-многим между двумя таблицами?

(1/5) > >>

Kwazar:
Как реализовать связь многие-ко-многим между двумя таблицами?
Пример связи многие-ко-многим:
Есть таблица продуктов
products(product_id,product_name) и таблица заказов
,назовем ее accounts(number,product_id,customer_id)
number-номер заказа,customer_id-покупатель
Но ,дело в том что покупатель может в одном заказе выбрать
несколько продуктов.
Меня интересует как предусмотреть эту возможность
и как написать запрос по одному покупателю ,который бы выводил
все продукты выбранные покупателем в данном заказе.
Заранее спасибо.

Макс:
Еще одну таблицу
products2orders(product_id, order_id)

Запрос примерно такой будет
SELECT p.product_name FROM products p, orders o, products2orders po WHERE po.order_id = o.order_id AND p.product_id = po.product_id AND o.order_id = $order_id

(это примерно, читай про SELECT-ы по нескольким таблицам и про JOIN)

Kwazar:
Хм...
Думаю, что можно соединить таблицы. В данном случае я думаю, подойдет
"естественное \'соединение".
Это означает, что можно устанавливать отношения на основе ее структуры , а
не содержимого базы, (неестественное соединение).
SELECT number,product_name,customer_id FROM products, accounts WHERE
customer_id=\'$login\'.
Я все правильно сделал?
Просто это одно из тестовых заданий, которые мне надо было решить. Хотелось бы услышать, правильно ли я сделал?
БД: Oracle

Гость:
SELECT p.product_name FROM products p, accounts a WHERE
a.customer_id=$login and p.number = $number

ThE0ReTiC:

--- Цитировать ---БД: Oracle
--- Конец цитаты ---

создай представление (оно и будет аналогом 3 таблицы в mysql)

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии