Ich habe zwei TabellenVerwenden Mysql Spalte in Unterabfrage von subquery
Berichte
id consultants
1 1,2,3,4
Benutzer
id name
1 John
2 Tom
Wenn ich versuche, diese Abfrage ich einen Fehler auszuführen: „Unknown column ' reports.consultants 'in' Where-Klausel '"
SELECT reports.id,
(SELECT GROUP_CONCAT(name SEPARATOR ", ") from (SELECT name from users where users.id in (reports.consultants)) a) as consultant
FROM reports
Ich habe überlegt, eine separate ReportConsultants-Tabelle zu verwenden, aber ich dachte, dass das Speichern der Berater in der Berichtstabelle die Abfrage effizienter machen und sich fragen könnte, ob es einen Weg dafür gibt. Die Verwendung dieser Art von Struktur ist auch im Code viel einfacher.
Siehe sein. Oder stören Sie nicht mit einem RDBMS – Strawberry
Vor allem das ist sehr schlechtes Design. –
@Strawberry Wie empfehlen Sie zu entwerfen? – ykay