tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
197
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    shitake83 shitake83 ist offline Grünschnabel
    Registriert seit
    Nov 2010
    Beiträge
    4
    Hallo Leute, ich hab mich schon ordentlich eingelesen aber komme immer noch nicht zu dem richtigen ergebnis.

    Ich möchte zwei Tabellen in einer neuen zusammenfügen.

    Tabelle 1: bs_nr, kv, plz, ort, strasse, flag
    Tabelle 2: bs_nr, kv, plz, ort, strasse, lat, lng,loaddate, gcdate, flag

    Tabelle 3: bs_nr, kv, plz, ort, strasse, lat, lng,loaddate, gcdate, flag

    ich möchte das ganze aber an eine Bedingung knüpfen und zwar so das alle Daten die gleich sind kA zB. Tab1.bs_nr = Tab2.bs_nr das das dann auch in einer Reihe ist, aber die Daten die es in der Tabelle noch nicht gibt wie lat, lng,loaddate, gcdate dann aber trotzdem in die Reihe eingesetzt werden.

    Habe es auf einem weg von Hand hingekriegt, nur bei 100k Daten is das kein Spass !
    Bitte kein geflame und die "bitte lies ein handbuch" sprüche auch lassen, ansonsten einfach nicht antworten.

    Danke für eure Hilfe.
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Um was für eine Datenbank handelt es sich? Oracle? MS SQL? MySQL? MS Access? Pervasive? Postgre SQL? SQLite? oder sonstwas?
    Je nachdem kann die Lösung ganz anderst aussehen

    Annahme meinerseits: MySQL
    Ich Versteh nicht ganz alles deiner Frage. Einträge die in beiden sind, sollten von der übernommen werden, die mehr Felder hat?

    Zum zusammenfügen brauchst du ein UNION
    Um diejenigen von Tabelle 1 zu Unterdrücken, die in Tabelle 2 Vorhanden sind, brauchen wir ein WHERE xy NOT IN (SELECT...)
    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    
    SELECT
            bs_nr, 
        kv, 
        plz, 
        ort, 
        strasse, 
        NULL AS lat, 
        NULL AS lng,
        NULL AS loaddate, 
        NULL AS gcdate, 
        flag
    FROM 
        table1
    WHERE
        bs_nr NOT IN (SELECT DISTINCT bs_nr FROM table2)
    UNION SELECT
            bs_nr, 
        kv, 
        plz, 
        ort, 
        strasse, 
        lat, 
        lng,
        loaddate, 
        gcdate, 
        flag
    FROM 
        table2
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    shitake83 shitake83 ist offline Grünschnabel
    Registriert seit
    Nov 2010
    Beiträge
    4
    Hallo danke für deine schnelle Antwort.

    Ich benutze PostGresql.

    Ich möchte quasi in logik mal ausgedrückt:

    Kopiere alle Daten aus Tab 1 in Tab 3.
    Kopiere dann alle Daten aus Tab2 in Tab3 -> jedoch NUR die Daten die Tab1 NICHT in Tab3 injiziert hat(bzw die nicht in Tab1 vorhanden sind :lat,lng....) quasi die 5 anderen Columns die in Tab2 mehr sind.
     

  4. #4
    shitake83 shitake83 ist offline Grünschnabel
    Registriert seit
    Nov 2010
    Beiträge
    4
    also der Logik nach is das was du da geschrieben hast ja genau das was ich brauche oder ****
    (habs jetzt noch nicht eingesetzt)
     

  5. #5
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Ob das so in PostGresql geht, weiss ich nicht. Ich kenne PostGresql nicht.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  6. #6
    shitake83 shitake83 ist offline Grünschnabel
    Registriert seit
    Nov 2010
    Beiträge
    4
    Ich hab es nicht gelöst.
    Habe aber das Problem umgangen und mein Programm läuft wieder.
    Nicht die eleganteste Lösung aber immerhin .

    Trotzdem danke für die Hilfe.
     

Ähnliche Themen

  1. SQL Vergleich zweier Tabellen
    Von LordDarkness im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 11.07.10, 12:39
  2. Aus zwei Tabellen auslesen und in einer dritte Reinschreiben
    Von atango im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 13.09.07, 14:00
  3. Verknüpfung zweier Tabellen
    Von MeinerEiner_80 im Forum Relationale Datenbanksysteme
    Antworten: 12
    Letzter Beitrag: 28.07.07, 09:48
  4. [C] Vergleich zweier SQL-Tabellen
    Von Buba235 im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 12.07.06, 12:02
  5. Datenverknüpfung zweier Tabellen
    Von Gumbo im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 24.07.03, 16:41