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

Форум MySQL

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

 

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

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

тема: двойной фильтр по одному полю
 
 автор: vilk   (21.11.2011 в 21:20)   письмо автору
 
 

Есть такой мой запрос в вордпрессе -

SELECT p.ID FROM wp_posts p, wp_terms t, wp_term_taxonomy tt, wp_term_relationships tr, wp_acf_values av WHERE p.post_status = 'publish' AND t.slug = 'meropriyatiya' AND tt.term_id = t.term_id AND tr.term_taxonomy_id = tt.term_taxonomy_id AND tr.term_taxonomy_id = tt.term_taxonomy_id AND tr.object_id = p.ID AND av.post_id = p.ID AND av.field_id = 6 AND av.value = 'Киев' AND av.field_id = 7 AND av.value = 'Диетолог'

Вконце запроса два *фильтра по полям - "AND av.field_id = 6 AND av.value = 'Киев' AND av.field_id = 7 AND av.value = 'Диетолог'". Если таких два* фильтра то запрос ничего не находит, а если один то находит. Как переписать эти два *фильтра вконце запроса чтобы они работали вместе?

*фильтр 1 -AND av.field_id = 6 AND av.value = 'Киев'
*фильтр 2 -AND av.field_id = 7 AND av.value = 'Диетолог'"

  Ответить  
 
 автор: cheops   (22.11.2011 в 01:11)   письмо автору
 
   для: vilk   (21.11.2011 в 21:20)
 

Придется таблицу wp_acf_values av подключать два раза под разными именами, чтобы разнести условия.

  Ответить  
 
 автор: sergio-prof   (25.11.2011 в 08:04)   письмо автору
 
   для: vilk   (21.11.2011 в 21:20)
 

av.field_id = 6 AND av.value = 'Киев' (AND ...сюда уже все остальное)
OR
av.field_id = 7 AND av.value = 'Диетолог'" (AND ...сюда копируешь тоже самое)


выведет все что надо!

  Ответить  
 
 автор: Lotanaen   (25.11.2011 в 10:03)   письмо автору
 
   для: sergio-prof   (25.11.2011 в 08:04)
 

тогда удобней наверное наоборот :

... AND ((av.field_id = 6 AND av.value = 'Киев' ) OR (av.field_id = 7 AND av.value = 'Диетолог'"))

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

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