gregory666
Goto Top

MS SQL JOIN bei gleichen Spaltennamen

Hallo,

bei einem INNER JOIN verwende ich u.a. Spalten aus "company$table_1"."No" und "company$table_2"."No".
Wenn ich dies so lasse, wird eine der Spalten umbenannt in "No_1".
Damit kann ich sie softwareseitig nicht mehr identifizieren, da der erwartete Name von dem tatsächlichen Namen abweicht.
Verwende ich einen Alias
"company$table_2"."No" as TEST
kann ich auf TEST kein LIKE anwenden. Dies ist aber erforderlich.
Was kann ich da tun?

Gruß, Andreas

Content-Key: 666615

Url: https://administrator.de/contentid/666615

Printed on: April 20, 2024 at 10:04 o'clock

Member: em-pie
Solution em-pie May 11, 2021 at 05:34:29 (UTC)
Goto Top
Moin,

Eigentlich sehr trivial:

SELECT
 a.No as No1,
 b.No as No2,
 a.SomeField,
 a.SomeOtherField

FROM company$table_1 as a
INNER JOIN company$table_2 as b on a.Field = b.Field

WHERE a.No like '%blabla%'  

Gruß
em-pie
Member: ukulele-7
Solution ukulele-7 May 11, 2021 at 06:35:00 (UTC)
Goto Top
Entscheidend ist, das du den Alias nicht im selben Query verwenden kannst. Der Alias TEST existiert erst im Resultset, innerhalb der Abfrage kannst du den vollqualifizierten Spaltennamen "company$table_2"."No" verwenden oder einen Tabellenalias wie im Query von em-pie aber eben keinen Spaltenalias.
Member: Gregory666
Gregory666 May 11, 2021 at 06:40:37 (UTC)
Goto Top
Dann wäre der Unterschied nur, dass ich das LIKE auf den Originalnamen setze statt auf den Alias.
Als Ausgabe bekäme ich zwar immernoch einen anderen Namen, aber eben kontrolliert und nicht nach Schema "_1".
Das probiere ich mal.
Danke