2013-06-21 6 views
0

У меня есть 2 стола (table1 и table2), каждый из которых имеет 2 столбца (code и name). Я могу идентифицировать записи в table1, где name отличается для того же code в table2, но я не могу получить оба столбца name.Возврат нескольких столбцов из разных таблиц

Вот где я нахожусь ....

SELECT * FROM table1 
WHERE NOT EXISTS 
    (SELECT * FROM table2 
    WHERE table2.code = table1.code 
    AND table2.name = table1.name) 

Результаты включают только table1.code и table1.name, где я хотел бы также включить table2.name.

Буду признателен за любую помощь по этому вопросу!

Спасибо!

+6

Вам необходимо узнать о [join] (http://en.wikipedia.org/wiki/Join_ (SQL)). – Oded

+0

*** SQL *** - это только * Structured Query Language * - язык, используемый многими системами баз данных, но не продукт базы данных ... многие вещи специфичны для поставщиков, поэтому нам действительно нужно знать, что такое ** база данных system ** (и какую версию) вы используете (пожалуйста, обновите теги соответственно) .... –

ответ

0
SELECT table1.code, table1.name, table2.name 
FROM table1 
inner join table2 
on table2.code = table1.code 
and table2.name != table1.name 
+0

Спасибо, Sunny за быстрый ответ, но ответ Брайана работал лучше. Справедливости ради вам, я не сказал, что обе таблицы имеют одинаковое количество записей. Код Солнечной системы отбрасывает все, включая элементы в таблице1, которые не находятся в таблице2, тогда как код Брайана заставил поле КОД в каждой таблице соответствовать, а затем проверял, что ИМЯ отличается. Спасибо, что помогли так быстро! –