Mysql
 sql >> Baza danych >  >> RDS >> Mysql

meta klucz i zapytanie meta_value w wordpressie

Masz wiele meta_kluczy w jednej kolumnie, której potrzebujesz IN() zarówno dla meta_klucza, jak i wartości, np.

meta_key IN( 'property_amount','property_land_type') 
AND meta_value IN ('L','H','C',replace( replace(meta_value, ',', ''), '"', '' ) >= 1)

Wypróbuj to zapytanie

SELECT wp_posts.*, wp_postmeta.meta_value FROM 
wp_posts, wp_postmeta, wp_term_relationships, wp_terms 
WHERE term_id = '12' AND term_taxonomy_id = '12' AND ID = post_id 
AND ID = object_id AND post_type = 'property' AND post_status = 'publish' 
AND meta_key IN( 'property_amount','property_land_type') 
AND meta_value IN ('L','H','C',replace( replace(meta_value, ',', ''), '"', '' ) >= 1)
GROUP BY wp_posts.ID ORDER BY replace( replace(meta_value, ',', ''), '"', '' ) DESC 
LIMIT 0, 10

EDYTUJ

Wypróbuj ten z join , dołączyłem do wp_postmeta dwa razy dla dwóch meta_keys

SELECT wp.*, wpm1.meta_value AS `propert_type`,
wpm2.meta_value AS `property_amount`
FROM 
wp_posts  wp
LEFT JOIN wp_postmeta wpm1 ON (wp.ID = wpm1.post_id)
LEFT JOIN wp_postmeta wpm2 ON (wp.ID = wpm2.post_id)
INNER JOIN wp_term_relationships wptr ON (wp.ID = wptr.object_id)
INNER JOIN `wp_term_taxonomy` wptt ON (wptr.term_taxonomy_id = wptt.term_taxonomy_id)
INNER JOIN wp_terms wpt ON (wptt.term_id = wpt.term_id)

WHERE wpt.term_id = '12' AND wptr.term_taxonomy_id = '12' 
AND  wp.post_type = 'property' AND wp.post_status = 'publish'
AND wpm1.meta_key = 'property_land_type' 
AND wpm2.meta_key = 'property_amount'
AND REPLACE( REPLACE(wpm2.meta_value, ',', ''), '"', '' ) >= 1
AND wpm1.meta_value IN ('L','H','C') AND  wpm1.meta_value IS NOT NULL AND  wpm2.meta_value IS NOT NULL 
GROUP BY wp.ID ORDER BY REPLACE( REPLACE(wpm2.meta_value, ',', ''), '"', '' ) DESC 
LIMIT 0, 10


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaktualizować wszystkie daty w tabeli

  2. MySQL wyodrębnia zwykły tekst z danych html lub PHP?

  3. Utwórz bazę danych przy starcie docker-compose

  4. Zalety korzystania z widoków w MySQL

  5. Budowanie bezpiecznego publicznego API z PHP/MYSQL