2015-01-24 2 views
0

Может ли кто-то помочь в поиске и устранении проблемы с запросом: У меня есть 2 таблицы с общим полем CheckID. Когда я запускаю операторы Select, как показано ниже, я получаю правильные результаты 2 строки, но когда я использую внутреннее соединение, он возвращает только одну строку. Я пытаюсь перейти от MS Access к SQL Server, так что я здесь что-то не хватает? Любая помощь высоко оценена. Таблицы в настоящее время содержат эти два рядаInner Join Не показывать все результаты

Select CheckID from table1 where CheckID = 723 or CheckID = 322 'returns 2 rows 
Select CheckID from table2 where CheckID = 723 or CheckID = 322 'returns 2 rows 

Select CheckID from table1 inner join table2 
on table1.CheckID = table2.CheckID ' returns only 1 row 
+1

Ничто не выглядит неправильно мне, что тип данных столбцов CheckID в обоих table1 и table2? –

+0

Можете ли вы доказать, что с примером –

+0

@NoDisplayName это был мой пример :( – Avagut

ответ

-1

Вы выбираете только CheckID из table1.

Попробуйте это для ваших целей:

Select CheckID.table1, CheckID.table2 from table1 inner join table2 
where table1.CheckID = 123 or table2.CheckID = 345; 
+0

Привет, это дает мне 2 столбца, я надеялся только посмотрите CheckID в таблице 1, которые сопоставлены, все еще не отображаются – Avagut

+0

SQL-соединения - как указано имя - объединяет таблицы. Поэтому, если вы присоединитесь к table1 и table2, выберите colmun своего id - у вас будет 2 столбца. –

+0

@ DamianMąsior Это не помогает ответить на вопрос, и ваш второй SELECT не имеет предложения ON. –

Смежные вопросы