Announcement

Collapse
No announcement yet.

Update Problem MS SQL

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Update Problem MS SQL

    Hallo zusammen,

    ich hänge an einem Problem bisher dachte ich das die Lösung recht einfach aussieht...ich habe mich mal wieder getäuscht.

    Szenario:

    Tabelle "Basis_C" beinhaltet mehrere Kontakte mit der zugehörigen adresse
    Vorname | Name| PLZ | Strasse | Hausnummer | Status | C_verkaufer_nr|

    Status sagt aus ob die Hausnummer eine gerade oder ungerade Zahl ist.

    Tabelle "Zuordnung_P"
    PLZ | Strasse | von |bis |P_Status| P_verkaufer_id |

    |von| und |bis| beinhalten die Hausnummer range z.B. 0002 - 0020
    P_Status sagt aus ob die Hausnummer zuweisung gerade oder ungerade Hausnummer betrifft.

    d.h. eine verkaufs id kann in einer Straße mehrere Zuweisungen haben. Z.B. gerade hausnummern von 2-20 (status gerade) und ungerade Hausnummern vo

    n 21-39 (Status ungerade).

    Ich dachte ich kann nun via einem Update :
    Code:
    update Basis_C
     
        set Basis_C.C_verkaufer_nr =
        (
            select Zuordnung_P.P_verkaufer_id
       
               
            from Zuordnung_P, Basis_C
           
            where    Basis_C.Status  = Zuordnung_P.P_status           
                    and Basis_C.Strasse = Zuordnung_P.Strasse
                    and Basis_C.PLZ = Zuordnung_P.PLZ
                    and Basis_C.Hausnummer  >= Zuordnung_P.VON 
                    and Basis_C.Hausnummer  <= Zuordnung_P.BIS
                       
        )
       
    go
    die verkäufer_nr upzudaten. Leider scheint es so zu sein dass die Update funktion nicht versteht das in einer straße mit der gleichen Hausnummer mehrere Kontakte sein können.

    Hat einer eine idee wie ich das lösen könnte? Leider haben die 2 Tabellen kein wirkliches join Feld.

  • #2
    Das beste wäre wohl erstmal das Datenmodell zu normalisieren.
    Wenn du die Adressen mehrmals hast weil mehrere Kontakte im selben Haus wohnen solltest du die Kontakte auftrennen in Adressen und Personen. Dann gibt es jede Adresse maximal einmal und eine Zuordnung ist leicht (er) möglich.

    Nebenbei wäre ein eindeutiges Namensschema hilfreich. Etwas mal id dann aber wieder nr zu nennen verwirrt nur.

    Comment

    Working...
    X