2012-01-12 6 views
5

У меня есть две таблицы и хотите сравнить строки в SQLite как этотСравнение двух таблиц в SQLite

table1   table2 
field1   field1 

a     a 
b     d 
c     f 
d     g 
e 
f 
g 
h 
i 

и я хочу, чтобы произвести результат, как этот

result_table 
field1 

b 
c 
e 
h 
i 

Как синтаксис в SQLite? Благодаря

+0

Возможный дубликат [Как отличить две таблицы] (http://stackoverflow.com/questions/2819151/how-to-differentiate-two-tables) –

ответ

7
SELECT DISTINCT Field1 
FROM Table1 
WHERE Field1 Not IN 
    (SELECT DISTINCT Field1 FROM Table2) 
+0

Спасибо, john, он работает. – kuslahne

3
SELECT columns1 FROM table1 EXCEPT SELECT columns2 FROM table2; 

The SQLite КРОМЕ пункта возвращает все строки из левой ЗЕЬЕСТ, которые не в результате второго ЗЕЬЕСТА. Количество выбранных столбцов должно быть одинаковым в обоих операторах SELECT.

Это прекрасно подходит для небольших и средних таблиц. Избегайте таблиц с миллионами строк.

См. Compound Select Statements и документация SQLite SELECT.

+0

Добавление некоторого объяснения к вашему коду поможет сделать его лучшим ответом. – NathanOliver

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