SQL-запрос объединяет два столбца во время внутреннего соединения - PullRequest
5 голосов
/ 22 марта 2012

У меня есть таблица A и таблица B с таблицей A, имеющей несколько столбцов, включая A1 и A2.Таблица B тоже имеет несколько столбцов.Мой запрос требует, чтобы я соединил значения в A1 и A2, а затем выполнил внутреннее соединение в B1.

Пример:

Select * 
From A
INNER JOIN B
ON CONCAT(A1,A2) = B1.

Видимо, это не так, как должно работать.Может кто-нибудь помочь мне в этом вопросе?

Спасибо.

Ответы [ 2 ]

15 голосов
/ 22 марта 2012

Попробуйте это:

Select *  
From A 
INNER JOIN B 
ON A1 + A2 = B1
1 голос
/ 22 марта 2012

Образец взят из

Таблица географии

region_name store_name
East    Boston
East    New York
West    Los Angeles
West    San Diego

Пример 1: Для MySQL / Oracle:

    SELECT CONCAT(region_name,store_name) FROM Geography 
    WHERE store_name = 'Boston';
Result: 'EastBoston'

Пример 2: Для Oracle:

    SELECT region_name || ' ' || store_name FROM Geography 
    WHERE store_name = 'Boston';
Result: 'East Boston'

Пример 3: Для SQL Server:

    SELECT region_name + ' ' + store_name FROM Geography 
    WHERE store_name = 'Boston';
Result: 'East Boston'

Исходя из этого, вы можете без особых проблем адаптироваться к двум таблицам. В случае сомнений используйте виртуальную таблицу, чтобы сделать ее более читабельной.

Если есть сомнения, проверьте этот другой вопрос, на который даны более подробные ответы.

StackOverFlow Аналогичный вопрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...