Für die folgenden Tabellen;SQL fügt Zeilen übereinander hinzu und nicht beiseite
PRICE_TABLE FACT_TABLE
P_ID P_ID
1 0
2 0
3 0
... ....
Ich versuche, die Werte von PRICE_TABLE
P_ID
in die FACT_TABLE
zu bekommen. Ich bin mit der folgenden Abfrage gegangen;
INSERT INTO FACT_TABLE(P_ID) SELECT P_ID FROM PRICE_TABLE
Ich habe mehrere weitere ähnliche Felder in der FACT_TABLE
entsprechend anderen Tabellen, dh. SALES_TABLE
von denen die S_ID
in der gleichen Weise kommen müsste.
Allerdings laufen die Abfragen so;
INSERT INTO FACT_TABLE(P_ID) SELECT P_ID FROM PRICE_TABLE
INSERT INTO FACT_TABLE(S_ID) SELECT S_ID FROM SALES_TABLE
Wird die zweite INSERT
Aussage auf dem anderen hinzufügen, so dass nur die zweite IDs beginnen, wenn der erste Satz beendet hat.
z.
FACT_TABLE
P_ID S_ID
1 NULL
2 NULL
3 NULL
NULL 1
NULL 2
NULL 3
... ...
Wer hat irgendwelche Vorschläge?
nur zu stützen, wie die Reihen wissen soll, welche mit dem geht? Die SQL-Tabelle hat keine inhärente Reihenfolge. – Paparazzi
INSERT-Anweisungen fügen immer neue Zeilen hinzu. Ich bin nicht sicher von der obigen Beschreibung, was Ihr erwartetes Verhalten ist, aber wenn Sie die erste Menge der mit den P_IDs erzeugten Zeilen aktualisieren wollten, um auch S_IDs zu haben, dann müssen Sie UPDATE-Anweisungen verwenden, um vorhandene Zeilen zu aktualisieren neue hinzufügen? – PulseLab
Gibt es eine Beziehung zwischen 'PRICE_TABLE' und' SALES_TABLE'? –