2016-06-16 27 views
0

我有一個表,它有一個名爲varchar類型的標籤的字段。此列保存json_encoded數據。對json_encoded數據執行sql查詢,比如過濾器

["4","5","6","7"] 

一條記錄可以有多個標籤。我不想訴諸使用我知道更有效的數據透視表。我現在想保持這種狀態。

我想過濾所有具有特定標記的記錄。只是一個標籤...我如何創建一個查詢?

+1

你有什麼到目前爲止試試?..在這裏添加一些代碼... –

+0

'$貓= $ _ POST ['貓']; \t \t如果(!$貓== 0){ \t \t \t $過濾器。= '和'category' LIKE%'。 $貓。 '%'; \t \t}' – cabs

+0

此代碼無效,這可能是您的問題嗎?查詢本身看起來足夠好,可以返回任何標籤,這些標籤是$ cats –

回答

1

SELECT * FROM WHERE json_encoded_list_of_tags LIKE「%TAG%」

假設你只需要一個標籤%的是通配符(你可能知道?),這將匹配具有TAG在任何行柱。

你也應該細化此查詢到包括逃脫引號,以避免與其他標籤的子匹配