кто силен в запросах

Alexandre

PHPПенсионер
кто силен в запросах

У меня три таблицы (ТОВАРЫ Цены Клиенты )

ТОВАРЫ goods - описание товаров
goodId,
Name

Цены price - цена на товары (goodId) Поставщика или Производителя (ClientId)
price
goodId
ClientId


Клиенты clients
Name,
ClientId,
type - имеет значение либо Поставщик, либо Производитель

Необходимо создать запрос, который показывает цены на товары
Наименование ! Поставщик ! цена поставщика ! Производитель ! Цена производителя

Необходимо отметить, что возможна ситуация есть цена поставщика и отсутствует цена Производителя и наоборот....

запрос типа
select
g.Name Наименование, c2.name Производитедь, p2.Price, c.name Поставщик, p.Price
FROM goods g

join prices p2
ON
g.GoodId = p2.GoodId

join clients_old c2
on
p2.ClientId = c2.cod and
c2.type Like 'поставщ%'

join prices p
ON
g.GoodId = p.GoodId

join clients_old c
on
p.ClientId = c.cod and
c.type Like 'произ%'

отображает только те позиции где есть поставщик и Производители

если один из них отсутствует, то строчка не отображается
 

Alexandre

PHPПенсионер
а в каком месте --

пробовал - не получется...
(желательно код....
 

Vomysak

Guest
неужели трудно написать поподробнее? У меня тоже такая проблемма!
 

Crazy

Developer
и как же -- с твоей точки зрения -- выглядит ПРАВИЛЬНАЯ структура таблиц в данном случае?
 

Яро

бард-скальд
c2.type Like 'поставщ%'

ну по крайней мере не так...
имхо.
 

Яро

бард-скальд
тьфу... заработался... я имел в виду таким образом строить логику таблиц и выборок...
 

Alexandre

PHPПенсионер
Люди,
Спасибо за отклик...

Возможно я построил структуру и не правильно,
но таблица clients_old уже существует в базе и ее переформатировать не хотельосьбы....

Теперь о задаче - Менеджеру по закупкам необходима информация о товарах, которая должна быть выыведена в таблице:
Товар! Производитель! Цена Пр. ! Поставщик ! цена Поствщ...

Возможны Варианты:
1) Нет информации о цене производителя
-- или нет информации о Производетеле
2) Прямая поставка, т.е. нет Поставщика
3) Несколько поставщиков

Если моя структура таблиц не правильная, то в качестве гимнастики для ума - предложите лучше

Мой запрос (см. начало) показывает только те строки, в которых есть соответствие
Цена Производителя и Цена Поставщика.

Если что-то из них отсутствует, то строка не показывается....

Если делаю левое объединение, то получается лишняя избыточность...
 

Alexandre

PHPПенсионер
Хотелось бы построить такой запрос (процедуру или вьювер), который удовлетворил бы всем моим условиям...
 
Сверху