[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как правилно соединить три таблицы ?? Помугите Пожалуйста
Georgiy
Есть три таблици первая называется empresa в которой есть три поля id, empresa и codigo в котором хранятся название компаний код цомпании и в id автоматон идет нумерация вторая таблица называется "producto" в которой есть три поля id автоматичиская нумерация prodict где хронятся название товара и cod_product где хранится код продукта и третья таблица "producto_fb" имеет три поля id -//- cod_product в цотором хранятся код продукта cod_empresa где хранится код компании я её создал чтобы можно било узнять какая компания продаёт тот или иной продукт она виглядит примерно так:
------------------------------------
producto_fb
id cod_product cod_empresa
1 M.5.021 115362
2 M.5.021 123783
3 M.5.021 168236
-------------------------------------
один и тотже продукт могут продавать несколко компаний мне дадо узнать какие компании продают ети продукты я делаю так:

SELECT empresa.empresa, empresa.id
FROM producto, producto_fb, empresa
WHERE producto_fb.cod_product = 'M.5.021'
AND producto_fb.cod_product = producto.cod_product
AND producto_fb.cod_empresa = empresa.codigo

мне вдаёт кмпании которые продают ети продукты ноесли их три то кждую помканию повторяет три раза если четыри то повторяет четыри раза и так далие езнаю в чам дели Пмогите пожалуйста



Спустя 23 минуты, 27 секунд (19.09.2006 - 17:44) vasa_c написал(а):
Извини, но вникать в структуру твоей БД, которая описана в одном абзаце без расстановки знаков припинания, с орфографическими ошибками, да и вообще невняно, как-то не хочется.

Опиши нормально. Три таблицы — три абзаца, по строкам, такой-то столбец — означает то-то.

Спустя 4 часа, 35 минут, 29 секунд (19.09.2006 - 22:20) Georgiy написал(а):
vasa_c, извени за ошибки но дело в том что я на половину Русский я родился в России но уже почти десять лет жыву в Аргентине, разговарибаю хорошо но песать уже трудно
----------------------------------------------------------------------------------------------
в етой базе есть три таблицы "empresa", "producto", "producto_fb".
Первая таблица ето "empresa" в которой хронятся даные разных фабрик которые изготавливают разные продукты она состоит примерно так:
--------------------------
empresa
id empresa codigo direccion(на испанском адрес) Tel.... и так далее.
1 фаб Nº1 0001
2 фаб Nº2 0002
3 фаб Nº3 0003
-------------------------
Во второй таблице "producto" хронятся названия и коды продуктов которые выпускают ети фабрики таблица составлина так:
--------------------------------
producto
id product cod_product
1 продукт Nº1 M.1.0.0
2 продукт Nº2 M.1.0.1
3 продукт Nº3 M.1.0.2
--------------------------------
И третья тблица "producto_fb" чтобы можно било узнать какая фабрика изготавливает тот или еной продукт,но при етом мужет быть и так что один и тотже продукт изготавливают несколько фабрик дапуетим лошко или вилку изготавливает три фаприки. Таблица состоит примерно так:
---------------------------------
producto_fb
id cod_product cod_empresa
1 M.1.0.0 0001
2 M.1.0.0 0002
3 M.1.0.0 0002
---------------------------------
А типерь мне надо узнать по коду продукта дапустим "M.1.0.0" какие фабрики изготавливают етот продукт я делаю ето так:
-----------------------------------------------
SELECT empresa.empresa, empresa.id
FROM producto, producto_fb, empresa
WHERE producto_fb.cod_product = 'код продукта'
AND producto_fb.cod_product = producto.cod_product
AND producto_fb.cod_empresa = empresa.codigo
-----------------------------------------------
он вополняет команду но повторяет каждую фабрику которую нашол если фабрик три то повторяет три раза каждую если четыре то повторяет четыре раза незнаю почему
помогите пожалуста
Зарание Спосибо.

Спустя 22 минуты, 56 секунд (19.09.2006 - 22:43) vasa_c написал(а):
Лучше в таблице producto_fb связывай не какие-то коды, а id компаний и продуктов. Т.е. структура такая:
QUOTE
id — автоинкремент (скорее всего даже не нужен)
empresa_id — код фабрики
producto_id — код продукта

Тогда выбираешь просто:
QUOTE
select `empresa_id` from `producto_fb` where `producto_id`=

Получаешь список из id фабрик изготавливающих заданный товар.

Спустя 25 минут, 3 секунды (19.09.2006 - 23:08) Georgiy написал(а):
всо получилось болшое спосибо, там надо било толко зделать так:
--------------------------------------------------------------------------------
SELECT empresa.empresa, empresa.id
FROM producto_fb, empresa
WHERE producto_fb.cod_product = 'cod'
AND producto_fb.cod_empresa = empresa.codigo

Спустя 2 года, 10 месяцев, 7 дней, 19 часов, 59 минут, 41 секунда (27.07.2009 - 19:08) ИНСИ написал(а):
Georgiy я тоже советую делать как сказал vasa_c. Структура потом позволит делать не только такие и то "вложенные" запросы, но и дальше расширить без труда сайт.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.