0
我正在處理客戶端項目,並在多重meta_key,元值搜索中苦苦掙扎。多個元鍵和元值搜索
我的數據庫結構就是這樣
clinics clinics_meta ======= ============= id name id fk_clinic_id meta_key meta_value 1 dental 1 1 city london 2 heart 2 1 country england 3 2 city manchester 4 2 country london
我想診所city = london
和country = england
我試過這樣
SELECT distinct(clinics.id) FROM clinics, clinic_meta
WHERE clinics.id = clinic_meta.fkClinicId
AND (clinic_meta.metaKey = 'clinicCountry' AND clinic_meta.metaValue like '%england%')
AND (clinic_meta.metaKey = 'clinicCity' AND clinic_meta.metaValue like '%london%')
請不要求索語法錯誤,但邏輯。
此代碼不會返回clinic name/id
,
,而不是使用兩個過濾城市,國家
如果我只用一個過濾器它返回診所名稱,但。
任何幫助將不勝感激。
感謝。
謝謝Long Dog, 如果metakey值過濾器的數量增加,我必須增加連接數嗎? –
沒問題,看起來像,是的...如果沒有,我會爲clinics_meta添加一個索引: alter table clinic_meta add key(meta_key,meta_value); 我假設clinics_meta.clinic_id和clinic.id上已經有密鑰? – RJJ
請接受答案,如果它的工作:) – RJJ