SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 17.02.2010 09:18:27

verybadbug
Участник
Зарегистрирован: 17.02.2010
Сообщений: 11

Замудренная выборка из двух таблиц

Всем привет!
Есть две таблицы:
1. goods (Товары)
goods_id INT (код)
goods_name VARCHAR(200) (наименование)
2. store_goods (Товары в магазине)
store_goods_id INT (код)
store_goods_store_id INT (код магазина)
store_goods_goods_id INT (код товара)
store_goods_price FLOAT (цена)

связь - один ко многим по ключу goods.goods_id=store_goods.store_goods_goods_id

Нужно сделать выборку для магазина (store_goods.store_goods_store_id=1) которая включает ВСЕ товары (если для goods нет записи в store_goods, пусть будут NULL).

Заранее спасибо!

Неактивен

 

#2 17.02.2010 11:01:23

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Замудренная выборка из двух таблиц

select goods_name, store_goods_goods_id from goods left join store_goods on goods.goods_id=store_goods.store_goods_goods_id where store_goods.store_goods_store_id=1;

Неактивен

 

#3 17.02.2010 11:38:55

verybadbug
Участник
Зарегистрирован: 17.02.2010
Сообщений: 11

Re: Замудренная выборка из двух таблиц

vasya
не получается....

записи goods
1, 'Товар1'
2, 'Товар2'

записи store_goods
1, 2, 1, 100


по запросу выходит 1 строка, а необходимо 2

Неактивен

 

#4 17.02.2010 12:34:45

verybadbug
Участник
Зарегистрирован: 17.02.2010
Сообщений: 11

Re: Замудренная выборка из двух таблиц

если кому интересно - проблему решил так:

SELECT * FROM goods LEFT JOIN store_goods ON (store_goods.store_goods_goods_id=goods.goods_id AND store_goods.store_goods_store_id=1)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson