2012-01-12 41 views
5

Tôi có hai bảng và muốn so sánh hàng trên sqlite như thế nàySo sánh hai bảng trong SQLite

table1   table2 
field1   field1 

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

và tôi muốn tạo ra kết quả như thế này

result_table 
field1 

b 
c 
e 
h 
i 

Làm thế nào là cú pháp trong sqlite? Cảm ơn

+0

bản sao có thể có của [Cách phân biệt hai bảng] (http://stackoverflow.com/questions/2819151/how-to-differentiate-two-tables) –

Trả lời

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

Cảm ơn john, nó hoạt động. – kuslahne

3
SELECT columns1 FROM table1 EXCEPT SELECT columns2 FROM table2; 

Các SQLite TRỪ khoản trả về tất cả các hàng từ câu lệnh SELECT để lại không có trong kết quả của câu lệnh SELECT thứ hai. Số cột được chọn phải giống nhau trong cả hai câu lệnh SELECT.

Tính năng này hoạt động tốt đối với các bảng có kích thước nhỏ đến trung bình. Tránh cho các bảng với hàng triệu dòng.

Xem Compound Select Statements và tài liệu về câu lệnh SQLite SELECT.

+0

Thêm một số giải thích cho mã của bạn sẽ giúp làm cho câu trả lời tốt hơn. – NathanOliver