Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выбор строки с определённым значением id, и проверка её ячейки
 
 автор: PanCotzky   (02.03.2011 в 23:03)   письмо автору
 
 

Доброго времени.

Есть таблица, хранящая список дополнительных параметров статьи. Каждая строка таблицы содержет имя параметра, значение и идентификатор статьи-владельца.

имя | значение | id
--------------------------------
Размер | 10 | 1
Размер | 8 | 2
Размер | 7 | 3
Дата | 10.9.2010| 1
Дата | 11.9.2010| 2
Дата | 11.9.2010| 3
Есть список параметров фильтрации. Например ('Размер' => (10, 8), "Дата" => (11.9.2010)).

Как составить запрос таким образом, чтобы он проверял соответствие значений строкам с определённым именем? Т.е. SELECT * FROM ... WHERE строка с именем "Размер" IN (10, 8) AND строка с именем "Дата" IN (11.9.2010)?

Заранее спасибо.

  Ответить  
 
 автор: cheops   (02.03.2011 в 23:15)   письмо автору
 
   для: PanCotzky   (02.03.2011 в 23:03)
 

Хм... вручную запрос составить не сложно
SELECT * FROM tbl
WHERE id = 1 AND (
  (name = "Размер" AND value BETWEEN 8 AND 10) OR
  (name = "Дата" AND value = "11.9.2010")
)

  Ответить  
 
 автор: PanCotzky   (03.03.2011 в 18:18)   письмо автору
 
   для: cheops   (02.03.2011 в 23:15)
 

Спасибо, помогло. Не подскажите статей о том, как устроена проверка условий изнатри? Чтобы лучше понять логику.

  Ответить  
 
 автор: cheops   (03.03.2011 в 18:24)   письмо автору
 
   для: PanCotzky   (03.03.2011 в 18:18)
 

Статей наверное нет, что-то не приходит на ум ничего подходящего, но вы можете спрашивать все, что вызывает затруднение, что знаем - расскажем.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования