inner join mit like

Split1989

hh-student.de
ID: 238425
L
9 April 2007
1.223
85
moin moin habe wieder einmal ein kleines Problem mit einem sql Statement.

habe 2 Tabellen

vogel
ID|LAT_NAME|ENG_NAME
1000|abc def ghi|Blackbird
1001|xyz zzz yyy|thrush
1002|aaa bbb ccc|finch

vogel_deu
ID|LAT_NAME|DEU_NAME
1|abc def|Amsel
2|xyz zzz|Drossel
3|aaa bbb|Fink

bekomme ich irgendwie jetzt DEU_NAME und ENG_NAME zusammen? irgendwie hat ein join mit einem like bei mir nicht funktioniert.

hoffe auch kompetente und schnell hilfe :D
 
wie hast Du es denn versucht und warum hat es nicht funktioniert ( Syntax-fehler , falsches Ergebnis ... )

Ist es immer so, dass der komplette LAT_NAME von vogel_deu identisch ist dem linken Teil von vogel ?
 
jap genau der linke teil ist immer indentisch.

abfrage sah in etwa so aus


select * from vogel_deu
inner join vogel on vogel.LAT_NAME like vogel_deu.LAT_NAME

hab auch das hier probiert

select * from vogel_deu
inner join vogel on vogel.LAT_NAME like vogel_deu.LAT_NAME + '%'
 
das Problem bei LIKE ist, dass rechts davon kein Spaltenname stehen darf.

Du könntest mal sowas versuchen:

ON LEFT(vogel.LAT_NAME, LENGTH(vogel_deu.LAT_NAME)) = vogel_deu.LAT_NAME
 
super danke :)

hab das ganze für oracle gebraucht und da gibt es zwar kein LEFT() aber ein SUBSTR() und damit hat das hingehauen