Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Tabellen verbinden und Spalten und Zeilen transponieren

Können Sie das Tabellenschema ändern? Da die erste Tabelle, survey_1, besser mit einer Zeile pro Antwort und mit dem gesamten Schlüssel der anderen Tabelle pro Zeile geschrieben wird. So (fügen Sie Ihre eigenen Indizes hinzu)

create table survey_1 (
  id int,
  token int,
  sid int,
  gid int,
  qid int,
  answer varchar(255)
)

Dann wären die Daten

------------------------------------------
| 1 | 1 | 1 | 2 | 1 | "YES"              |
| 1 | 1 | 1 | 2 | 2 | "Justin Beiber"    |
| 2 | 1 | 1 | 2 | 1 | "YES"              |
| 2 | 1 | 1 | 2 | 2 | "Britney Spears"   |
------------------------------------------

Es wird viel einfacher zu handhaben sein und allgemein ein besseres Design haben.

So würde es aussehen http://sqlfiddle.com/#!2/4f1ca/2