|
|
|
| Делаю каталог автозапчастей.
Таблица объявлений-
id_adver
id_marka из таблицы marka
id_modeli из таблицы modeli
id_universality
id_universality - это универсальность детали, т.е. она пожет подходить только для марки,
только для марки и модели, или для всех машин.
Вот проблема и возникла при изменении запроса под универсальность.
id_universality=2 - Только для этой марки (VW например)
id_universality=1 - Только для этой марки и модели
Вот мой запрос-
$result6 = mysql_query("SELECT *,DATE_FORMAT(date_in,'%d-%m-%Y') AS date_in
FROM advertisements,modeli,goroda,kupura
where ((advertisements.id_marka=".mysql_result($result2,0,0)." and
modeli.id_modeli=advertisements.id_modeli) or
(advertisements.id_marka=".mysql_result($result2,0,0)." and
advertisements.id_universality=2 and
advertisements.id_modeli=0 and
modeli.id_marka=".mysql_result($result2,0,0).") ) and
advertisements.id_gorod=goroda.id_gorod and
kupura.id_kupura=advertisements.id_kupura");
|
mysql_result($result2,0,0) - это запрос на выбор id_marka, он рабочий
advertisements.id_modeli=0 - если id_universality=2, то id_modeli автоматом становится 0, т.к. запчасть общая для всей марки.
Запрос выдает повторы объявлений , перебирая все модели выбранной марки,
а при advertisements.id_universality=2 должнен вывести единыжды объявления с advertisements.id_universality=2
Вот, чувствую,что здесь надо объединение таблиц, но как им пользоваться не знаю!
Надеюсь, поможете | |
|
|
|
|
|
|
|
для: segafrompiter
(28.01.2007 в 12:01)
| | а в пятой версии есть вложенные запросы :) | |
|
|
|
|
|
|
|
для: segafrompiter
(28.01.2007 в 12:01)
| | Сгруппируйте данные по полю advertisements.id_universality, т.е. добавьте в конец строку
GROUP BY advertisements.id_universality
|
| |
|
|
|
|
|
|
|
для: cheops
(28.01.2007 в 13:06)
| | да, спасибо, почему-то я сначала задаю вопрос, потом думаю, и потом также Group by использовал. | |
|
|
|