Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Identifikation gleicher Spalten bei zweifachen LEFt JOIN
Perhalo
myCSharp.de - Member



Dabei seit:
Beiträge: 23

Themenstarter:

Identifikation gleicher Spalten bei zweifachen LEFt JOIN

beantworten | zitieren | melden

verwendetes Datenbanksystem: <SQL>

Hallo,

ich möchte die Datensätze aus meiner Datenbank mit Hilfe eines dataGrids in einer WPF Umgebung darstellen. Das klappt soweit auch ganz gut. Leider gibt es in der Datenbankstruktur bei einigen Tabellen die Eigenheit, dass sie zweimal auf dieselbe Tabelle verweisen. Ich kann leider gerade nicht daruf kommen wie ich diese Verweise unterscheiden kann.


            SqlConnection con = new SqlConnection();
            con.ConnectionString =constring;
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText =   "SELECT ?? FROM tblMessmittel AS MM " +
            "LEFT JOIN tblPersonen AS P ON(MM.Verantwortlich_ID=P.ID AND MM.Vertreter_ID=P.ID) ";

            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter(cmd);

            da.Fill(ds);

            dataGrid1.ItemsSource = ds.Tables[0].DefaultView;

Ich möchte eigentlich nur eindeutig P.Nachname von jeweils dem Verantworlichen und dem Vertreter im SELECT bekommen, damit mein dataGrid diese anzeigen kann.

Ich hoffe mir kann da jemand weiterhelfen.
Danke im Vorraus und Grüße
Perhalo
private Nachricht | Beiträge des Benutzers
unconnected
myCSharp.de - Member

Avatar #avatar-3200.jpg


Dabei seit:
Beiträge: 862
Herkunft: Oerlinghausen/NRW

beantworten | zitieren | melden



SELECT P.Nachnahme As Verantwortlich, V.Nachname AS Vertreter FROM tblMessmittel AS MM " +
"LEFT JOIN tblPersonen AS P ON(MM.Verantwortlich_ID=P.ID)" +
"LEFT JOIN tblPersonen AS V ON(MM.Vertreter_ID=V.ID)" 


Edit: kleiner Fehler entfernt.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von unconnected am .
private Nachricht | Beiträge des Benutzers
Perhalo
myCSharp.de - Member



Dabei seit:
Beiträge: 23

Themenstarter:

beantworten | zitieren | melden

Super danke! Manchmal kommt man echt auf die simpelsten Ideen nicht.

Ich habs gerade auch noch mit UNION ALL versucht. Das geht nicht!
private Nachricht | Beiträge des Benutzers
unconnected
myCSharp.de - Member

Avatar #avatar-3200.jpg


Dabei seit:
Beiträge: 862
Herkunft: Oerlinghausen/NRW

beantworten | zitieren | melden

Dein select oben würde übrigens auch nicht funktioniern, da er nur zieht wenn eine Person Vertreter und Verantwortlicher gleichzeitig ist. Du müsstest das And gegen Or austauschen.
private Nachricht | Beiträge des Benutzers