Ich habe zwei Tabellen:einfügen Spalten in Zeilen für jede ID
Tabelle 1:
ID name
--------- -----------
1 john
2 salma
3 tony
table2:
ID Tasks amount
--------- ----------- ----------
1 write 2
1 memorize 3
1 read 6
1 sing NULL
2 write 1
2 memorize NULL
2 read 5
2 sing NULL
3 write NULL
3 memorize 8
3 read 2
3 sing NULL
ich für jede Aufgabe, neue Spalten in Tabelle 1 eingefügt werden soll erwähnt in Tabelle2.
Tabelle 1:
ID name write memorize read sing
--------- ----------- -------- --------- ------- --------
1 john 2 3 6 NULL
2 salma 1 NULL 5 NULL
3 tony NULL 8 2 NULL
ich den Einsatz in Tabelle 1 ID
zu einem Zeitpunkt für eine tun kann, aber nicht für alle. Danke im Voraus!
Wenn es eine endliche und bekannte Anzahl von möglichen Werten gibt, die den hinzuzufügenden Spalten entsprechen, was hindert Sie daran, sie explizit als einmalige Operation hinzuzufügen? Wenn es * nicht * ist, empfehle ich * * dies * sehr * zu tun. Dynamische Schemas sind relationale Datenbanken sind eine bekannte schlechte Idee. – David
@David dies ist nur ein Beispiel für eine viel größere Tabelle, so dass es explizit keine Option ist. Danke für den Ratschlag! – Wafae
Warum nicht? Über wie viele Spalten reden wir hier? Wenn es * Hunderte * von Spalten gibt, dann ist dies möglicherweise nicht der beste Weg an erster Stelle. Selbst wenn sie explizit definiert werden, müssen sie nicht unbedingt von Hand eingegeben werden. Sie können 'SELECT DISTINCT' auf den Daten auswählen, um die Spaltennamen zu erhalten und diese Liste in einen beliebigen Texteditor zu übernehmen, um die Spaltennamen schnell in vordefinierte 'ALTER TABLE'-Snippets einzufügen, um die Spalten hinzuzufügen. – David