Ich habe eine SQL-wie so wählen, welche eine Datentabelle zurückgibt:C# Datentabelle von SQL JOIN 2 Spalten denselben Namen
select * from table1 a join table2 b on a.id=b.id
Beide Tabelle1 und Tabelle2 haben eine Spalte itemno genannt.
Wie referenziere ich die 2 separaten Spalten? Normalerweise würde ich etwas wie:
datarow["itemno"].ToString(); <=first column named itemno only
datarow["b.itemno"].ToString(); <= fail
Allerdings scheint dies nur die erste Spalte namens itemno zu bekommen.
Gibt es eine Möglichkeit, die zweite Spalte namens itemno zu referenzieren, ohne meine SQL-Anweisung zu ändern? (Ich weiß, dass ich meine SQL-Anweisung ändern kann, die * herausnehmen und Spaltenaliase einfügen).
Sie haben Recht, und das ist die einzige Alternative. – Max
Hier ist die Gefahr versteckt. Wenn Sie die Abfrage später etwas ändern und die Spalten in einer anderen Reihenfolge zurückgeben, wird der Code nicht mehr funktionieren. –
Guter Punkt NewInTown. Das Aliasing ist bei weitem der beste Weg, es zu tun. – Max