Ich habe eine Tabelle mit JSON-Daten in ihm, und eine Aussage, die für jede Zeile eine Reihe von IDs zieht ...mySQL WHERE IN von JSON Array
SELECT items.data->"$.matrix[*].id" as ids
FROM items
Diese in etwas Ergebnisse wie ..
+------------+
| ids |
+------------+
| [1,2,3] |
+------------+
Weiter mag ich aus einer anderen Tabelle auszuwählen, in dem die ID der anderen Tabelle in der Anordnung ist, ähnlich wie die WHERE id IN ('1,2,3')
jedoch unter Verwendung des JSON-Array ...
Etwas nach dem Vorbild von ...
SELECT * FROM other_items
WHERE id IN (
SELECT items.data->"$.matrix[*].id" FROM items
);
aber es einige JSON Magie braucht, und ich kann es nicht funktionieren ...
Ist das '[1,2,3]', wie in dieser entsprechenden Spalte gespeicherten Daten? Ich meine Komma-getrennte 'ids', die von '[' '' '' ''? – 1000111
[dieser Beitrag] (http://stackoverflow.com/questions/32188341/how-to-query-with-a-where-clause-in-mysql-json-table) ist relevant –
die resultierenden Daten sind ein mySQL JSON ARRAY –