2016-06-16 4 views
0

Ich habe eine Tabelle, die ein Feld namens Tags des Typs Varchar hat. Diese Spalte enthält json_encoded-Daten.führen Sie eine SQL-Abfrage auf json_encoded Daten wie Filter

Ein Datensatz kann mehrere Tags enthalten. Ich möchte nicht auf den Pivot-Tisch zurückgreifen, von dem ich weiß, dass er effizienter ist. Ich möchte es im Moment so halten.

Ich möchte alle Datensätze filtern, die spezifische Tag hat. nur ein einzelnes Tag ... Wie kann ich eine Abfrage dafür erstellen?

+1

Was Sie bisher versucht haben zu vermeiden passende? .. einige Code hier hinzufügen ... –

+0

'= $ Katzen $ _POST ["Katzen"]; \t \t if (! $ Katzen == 0) { \t \t \t $ Filter. = 'Und 'Category'% LIKE'. $ Katzen. "%"; \t \t} ' – cabs

+0

Dieser Code ist ungültig, könnte das Ihr Problem sein? Die Abfrage selbst sieht gut genug aus, um alle Tags zurückzugeben, die eine Permutation von $ cats ist –

Antwort

1

SELECT * FROM WHERE json_encoded_list_of_tags LIKE '% TAG%'

Unter der Annahme, brauchen Sie nur den einen Tag, um das% 's Platzhalter ist (wie Sie wahrscheinlich wissen?) Und dies wird jede Zeile übereinstimmen, den TAG in der hat Säule.

Sie sollten auch diese Abfrage verfeinern entkam Anführungszeichen enthalten, mit Teil von anderen Tags

Verwandte Themen