Как объединить две таблицы с общим словом в SQL server
У меня есть две таблицы со следующими данными:
Table A Table B ID | Text | Barnr. Barnr. | Text 1 | Dan-salg 04.11 | 0 1001 | GOOGLE*GS 2 | Gebyr udland | 0 1002 | Overforsel 3 | Buy EUR 10,00 GOOGLE*GS | 0 1003 | Geby udlandet 4 | Pbs overforsel FAKT | 0 1004 | Dan-salg
Я пробовал использовать следующий код, но он, похоже, не работает ни для одной строки.
select OpgaveD.Id AS Bilag, OpgaveD.Dato, OpgaveD.Tekst, kd.Konto, OpgaveD.Modkonto, OpgaveD.Debet, OpgaveD.Kredit from OpgaveD left join KoKlDetail kd on kd.Navn LIKE CONCAT('%', SUBSTRING(OpgaveD.Tekst,1,(CHARINDEX(' ',OpgaveD.Tekst + ' ')-1)), '%') where OpgaveD.OpgaveId = 1
Я получаю следующее:
ID | Text | Barnr. 1 | Dan-salg 04.11 | 1004 2 | Gebyr udland | 1003 3 | Buy EUR 10,00 GOOGLE*GS | NULL 4 | Pbs overforsel FAKT | NULL
Мой вопрос таков: как я могу увидеть лучший код, который будет читать общий слово в каждой таблице возвращать также 1001 и 1002 вместо NULL?
Что я уже пробовал:
select OpgaveD.Id AS Bilag, OpgaveD.Dato, OpgaveD.Tekst, kd.Konto, OpgaveD.Modkonto, OpgaveD.Debet, OpgaveD.Kredit from OpgaveD left join KoKlDetail kd on kd.Navn LIKE CONCAT('%', SUBSTRING(OpgaveD.Tekst,1,(CHARINDEX(' ',OpgaveD.Tekst + ' ')-1)), '%') where OpgaveD.OpgaveId = 1