我認為我無法通過工會實作這一目標。例如,我想要所有鍵列是“品牌”而價值列是“Burago”的汽車。最重要的是,值在 100 到 220 之間的鍵列價格。
我應該做子查詢還是什么?如果我也想用值“sport”查詢鍵“type”怎么辦?該查詢僅在我使用一個 where 子句時回傳一些內容,而在使用以下查詢時不回傳任何內容。
select `posts`.`title` from `posts`
inner join `meta` on `posts`.`id` = `meta`.`metable_id`
where `meta`.`key` = "price" and `meta`.`value` between 100 and 220
and `meta`.`key` = "brand" and `meta`.`value` = "Burago"
group by `posts`.`id`
元表:
ID | post_id | key | value
----------------------------------------------------
69 | 8 | brand | some-brand
----------------------------------------------------
70 | 8 | type | sport
----------------------------------------------------
70 | 8 | price | 100
----------------------------------------------------
71 | 8 | brand | some-other-brand
----------------------------------------------------
70 | 8 | type | coupe
----------------------------------------------------
72 | 8 | price | 150
----------------------------------------------------
73 | 8 | brand | some-brand
----------------------------------------------------
70 | 8 | type | cabrio
----------------------------------------------------
74 | 8 | price | 100
----------------------------------------------------
75 | 8 | brand | some-brand
----------------------------------------------------
70 | 8 | type | sport
----------------------------------------------------
76 | 8 | price | 250
uj5u.com熱心網友回復:
select `posts`.`title` from `posts`
inner join `meta` on `posts`.`id` = `meta`.`metable_id`
where `meta`.`key` = "price" and `meta`.`value` between 100 and 220
and `meta`.`key` = "brand" and `meta`.`value` = "Burago"
group by `posts`.`id`
having COUNT(DISTINCT `meta`.`key`) = 2
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/368673.html
