VerĂśffentlicht 18. August 200619 j hallo, ich komm leider grad netmal druaf nach was ich suchen muss. also mein problem: ich habe zwei tabellen. Tabelle A mit x Feldern. wichtigstes: Barcode Tabelle B ebenfalls mit Barcode Nun stehen in Tabelle A alle Barcodes. in Tabelle B stehen aber nicht alle drin. Wie funktioniert es nun das ich die die in Tabelle A stehen in Tabelle B mit hinzufĂźge. Das zweite Feld in Tabelle B muss dabei NULL sein. Irgendwie mit INSERT INTO nur args, irgendwie hat mich mein Hirn schon ins Wochenende verabschiedet. Danke fĂźr jeden Tip. GruĂ Enno
18. August 200619 j insert into <tabelle_b> (barcode,null_spalte) select barcode,null from tabelle_a; -j
21. August 200619 j Autor aehm und was passiert wenn der barcode aus tabelle a schon in tabelle b enthalten ist, der darf ja nur 1mal vorkommen. bzw. wenn er schon in tabelle b vorhanden ist darf ich den nicht nochmal einfĂźgen. oh sorry hat ich oben nicht geschrieben.
21. August 200619 j Wenn du 'Barcode' als Primärschlßssel hast wirds n Fehler geben oder ßbersprungen, jenachdem, wie sich die DB verhalten soll. Wenn in Tabelle_b keine weiteren wichtigen Daten sind, lÜsch allen Inhalt aus B und fßr das Statement von Jasper aus. Ansonsten mßsste man checken, ob der aktuelle Barcode bereits in B vorhanden ist.
21. August 200619 j aehm und was passiert wenn der barcode aus tabelle a schon in tabelle b enthalten ist, der darf ja nur 1mal vorkommen. bzw. wenn er schon in tabelle b vorhanden ist darf ich den nicht nochmal einfĂźgen. insert into b (id) select id from a where id not in (select id from ; -j
22. August 200619 j Dein Stichwort ist merge gruss >>-MERGE INTO--+-table-name-------+-----------------------------> 2 +-view-name--------+ 2 '-4 (2 --4 fullselect2 --4 )2 -' 2 2 >--+------------------------+--USING--table-reference-----------> 2 '-4 | correlation-clause |2 -' 2 2 >--ON--search-condition-----------------------------------------> 2 2 .--------------------------------------------------------------------. 2 V | 2 >----WHEN--| matching-condition |--THEN--+-| modification-operation |-+-+--> 2 '-signal-statement-----------' 2 2 .-ELSE IGNORE-. 2 >--+-------------+--------------------------------------------->< 2 2 correlation-clause: 2 2 .-4 AS2 -. 2 |--+----+--4 correlation-name2 --+-----------------------+----------| 2 | .-,-----------. | 2 | V | | 2 '-4 (2 ----4 column-name2 -+--4 )2 -' 2 2 matching-condition: 2 2 |--+-----+--MATCHED--+-----------------------+------------------| 2 '-NOT-' '-AND--search-condition-' 2 2 modification-operation: 2 2 |--+-UPDATE SET--| assignment-clause |-+------------------------| 2 +-DELETE----------------------------+ 2 '-| insert-operation |--------------' 2 2 assignment-clause: 2 2 .-,--------------------------------------------------------. 2 V | 2 |----+-column-name-- = --+-expression-+---------------------+-+--| 2 | +-DEFAULT----+ | 2 | '-NULL-------' | 2 | .-,-----------. .-,--------------. | 2 | V | V | | 2 '-(----column-name-+--)-- = --(----+-expression-+-+--)-' 2 +-DEFAULT----+ 2 '-NULL-------' 2 2 insert-operation: 2 2 |--INSERT--+-----------------------+----------------------------> 2 | .-,-----------. | 2 | V | | 2 '-(----column-name-+--)-' 2 2 >--VALUES--+-+-expression-+-----------+-------------------------| 2 | +-DEFAULT----+ | 2 | '-NULL-------' | 2 | .-,--------------. | 2 | V | | 2 '-(----+-expression-+-+--)-' 2 +-DEFAULT----+ 2 '-NULL-------' [/PHP]
28. August 200619 j Hab ungefähr das gleiche Problem Hab zwei Tabellen in denen sich der gleiche Inhalt befindet. Fast zumindest. Wie kann ich es schaffen das alles aus der einen Tabelle in die andere ßbernommen wird, bis auf das was schon vorhanden ist. Das mit dem not in geht doch nur bei einem Primary Key, oder? Bei mir wären es insgesamt drei. Evtl hilft mir die LÜsung von zirri, aber ich versteh net so ganz wie da was funktioniert
28. August 200619 j aber doch immer nur mit einem primary key, oder? weil wenn ich sage insert into abc ( a,b,c ) where a,b,c not in ( select a,b,c from x ) Dann geht das nicht. Ach.. das ganze sind zusammengesetzte primary keys
28. August 200619 j weil wenn ich sage insert into abc ( a,b,c ) where a,b,c not in ( select a,b,c from x ) Insert Into y(a,b,c) Select a,b,c from x where a not in (select a from y) and b not in (select b from y) and c not in (select c from y); Ansonsten poste doch mal die Fehlermeldung. Das hilft bestimmt weiter als die Aussage das es nicht geht
28. August 200619 j Ok so funktioniert das ja theoretisch. Aber irgendwie begreif ich des im moment net ganz.. kĂśnnte auch an der Uhrzeit liegen ( 14Stunden + x auf Arbeit ist glaub ich net so gut ) Also bei mir ist ein Datensatz eindeutig wenn alle drei werte den wert z.b. 1,2 und 3 haben. Es kann aber auch noch 1,2,4 vorkommen usw. Mit deinem Code wĂźrde ich doch theoretisch nix bekommen, da eine zahl mit groĂer wahrscheinlichkeit immer vorkommt!?
28. August 200619 j Also bei mir ist ein Datensatz eindeutig wenn alle drei werte den wert z.b. 1,2 und 3 haben. Es kann aber auch noch 1,2,4 vorkommen usw. Mit deinem Code wĂźrde ich doch theoretisch nix bekommen, da eine zahl mit groĂer wahrscheinlichkeit immer vorkommt!? Da hast du vollkommen recht. So spontan fällt mir fĂźr dieses Problem allerdings auch keine LĂśsung ein Sorry
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.