Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос из нескольких таблиц, Запросы из нескольких таблиц 
:(
    Опции темы
Shustov Alexander
Дата 5.8.2005, 18:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Запросы из нескольких таблиц.
Читал книжку по SQL, там достаточно подробно описана эта тема, но у меня остлось несколько вопросов.

Как я понял при запросах из нескольких таблиц их нужно объеденять, т.е. находить пары (если 2 таблицы).

А если нужно сделать запрос из 3 таблиц, но в них нет полей предок/потомок?

Таблица 1
Поле Тип Атрибуты Ноль По умолчанию Дополнительно Действие
id int(11) Нет auto_increment
c_id int(11) Нет 0
prod int(100) Нет 0

Таблица 2
Поле Тип Атрибуты Ноль По умолчанию Дополнительно Действие
id int(11) Нет auto_increment
c_id int(11) Нет 0
prod_s int(100) Нет 0

Таблица 3
Поле Тип Атрибуты Ноль По умолчанию Дополнительно Действие
id int(11) Нет auto_increment
c_id int(11) Нет 0
spice int(100) Нет 0

Задача 1

Выбрать c_id, если table1.prod=param1 или table2.prod_s=param1 или table3.spice=param2

Делаю с помощью UNION - проблем нет

Задача 2

Выбрать c_id, если table1.prod=param1 или table2.prod_s=param1 иtable3.spice=param2

Делаю так:

SELECT DISTINCT spec_prod.c_id, spec_prod_s.c_id, spec_spice.c_id FROM spec_prod, spec_prod_s, spec_spice WHERE (spec_prod.prod='$form:prod' OR spec_prod.prod_s='$form:prod') AND (spec_spice.spice='$form:spice')

Если c_id вообще не определено в table1 или table2, то берется значение которое есть в table3...


  Вверх
Ignat
Дата 10.8.2005, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 21
Всего: 73



Цитата(Shustov @ 5.8.2005, 19:05)
Делаю с помощью UNION - проблем нет

Тогда в чем вопрос?
Если требуется соединение таблиц, то используем JOIN, если же выборка однотипных данных из неск-ких таблиц, то UNION.
Вообщем, сформулируйте понятно вопрос.

PS. Пожалуйста, используйте теги CODE. Это кнопочка "Код" над текстовым полем.


--------------------
Теперь при чем :P
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0380 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.