2016-06-08 82 views
1

我有這個MySQL查詢,它工作得很好,我只需要爲properties.advantages.中的每個id抓取advantages.value正如您在圖像中看到的那樣,列Advantages設置得很好(至少對於我,我沒有創建這個),ID由-分隔。我怎樣才能獲得這些價值?從表中選擇值,ID在一列

SELECT 
properties.id, 
(SELECT types.value FROM types WHERE types.id = properties.type_id) as types, 
properties.price, 
properties.town_id, 

**(SELECT advantages......),** 

towns.id, 
towns.value 
FROM properties 
LEFT JOIN towns 
ON properties.town_id=towns.id 
WHERE properties.published='1' 

enter image description hereenter image description here

+0

有什麼問題嗎? – sagi

+0

嗯,對不起,我需要獲得這些值,對於列 –

回答

1

我猜這是你遇到問題的行?

**(SELECT advantages......),** 

您可以使用LIKECONCAT()對它們進行比較:

SELECT a.advantagesCol FROM advantages a 
WHERE CONCAT('-',properties.id,'-') LIKE a.Id_Column 
+0

中的每個ID,我無法獲得任何值,結果始終爲NULL。如果一列'屬性。優點'具有'-1-',那麼表'優勢值'中的選定值應該是「很好」。如果一列有'-1-2-3-',則選定的值應該是「大,靚麗,差」。在嵌套SELECT語句中可以使用MySQL中是否存在foreach或類似的東西? –