Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Что-то не то с запросом... (loto) 02/08/2004 - 15:48:59
      Re: Что-то не то с запросом... (Роберт) 02/08/2004 - 16:08:06
      Re: нифига... (loto) 02/08/2004 - 16:20:06
      Re: Всё работает. (Роберт) 02/08/2004 - 16:38:29
      Re: Всё работает. (loto) 02/08/2004 - 17:14:27
      Re: Всё работает. Перепроверил! (Роберт) 02/08/2004 - 17:24:52
      Re: не-а...:) (loto) 02/08/2004 - 17:32:38
      Re: не-а...:) (Роберт) 02/08/2004 - 17:46:19
      Re: не-а...:) (loto) 02/08/2004 - 17:50:07
      Re: все! (loto) 02/08/2004 - 17:53:45
      Re: Разумеется! (Роберт) 02/08/2004 - 18:11:18



From: loto - 02/08/2004 - 15:48:59
Subject:Что-то не то с запросом...
-----------------
Народ, кому не лень подскажите с запросом. Я знаю, что он не правильный, а как сделать его верным ... :(

Идея такая. Есть записи(rid) которые принадлежат какой-то отдельной категории(cid), у каждой категории есть критерии (fid), у каждой записи есть соотвественно эти критерии, и для каждой записи есть свои значения (vid)


Есть три таблицы
=`base_records`
`rid` id записи
`uid` id пользователя добавишего запись
`cid` id категории которой принаджелжит запись
`type` enum('подтвержденная', 'не подтвержденная')

=`base_fields`
`fid` id поля(критерия)
`cid` id категории
`caption` название критерия
`type` enum тип, текстовое поле, область текста, select
`view` enum видно только админу, не видно пользователю
`search` можно искать по этому полю
`def_value` значение по умолчанию, или набор значений для select
`pos` порядковый номер

=`base_values`
`vid` id значения
`rid` id записи
`fid` id критерия
`value` значение.

НУЖНО. выбрать все записи для категории cid=1(например) одним запросом, желательно. На выходе нужно

`r`.`rid`,
`f`.`fid`,
`v`.`vid`,
`f`.`caption`,
`f`.`type`,
`f`.`view`,
`f`.`search`,
`f`.`def_value`,
`v`.`value`

Делаю так, но это не правильно :\ Дубликаты одни.

SELECT
`r`.`rid`,
`f`.`fid`,
`v`.`vid`,
`f`.`caption`,
`f`.`type`,
`f`.`view`,
`f`.`search`,
`f`.`def_value`,
`v`.`value`
FROM
`base_records` AS `r`,
`base_fields` AS `f`,
`base_values` AS `v`
WHERE
`r`.`cid` = 1 AND
`f`.`cid` = `r`.`cid` AND
`v`.`fid` = `f`.`fid`
GROUP BY
`v`.`vid`,
`r`.`rid`,
`f`.`fid`
ORDER BY
`r`.`rid`,
`f`.`pos`

:( может кто подскажет, пиво с меня легко. Замучался уже...


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
16438



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |