Xin chỉ cách hợp kết quả của 2 dòng trùng nhau sau khi dùng Union all

Liên hệ QC

ndv_son

Thành viên mới
Tham gia
25/1/13
Bài viết
46
Được thích
4
Hiện tại mình truy xuất dữ liệu từ 2 bảng khác nhau nhưng có cùng cấu trúc, mình dùng union all để đưa về kết quả cuối cùng (bao gồm cả những đối tượng cùng xuất hiện ở cả 2 bảng ). Giờ mình muốn hợp kết quả các dòng cùng 1 loại đối tượng lại với nhau, nhưng mò mẫm mãi ko ra cách. Mong các bạn chỉ giáo.
Ví dụ minh họa về CSDL và kết quả sau khi truy vấn:
BANG_A
LOP1 GIOI 9
LOP2 KHA 3
LOP3 YEU 4
BANG_B
LOP5 GIOI 10
LOP6 KHA 3
Sau khi dùng union all kết hợp 2 bảng ( theo mục đích riêng của mình để có kết quả như sau)
GIOI 9
GIOI 10
YEU 4
---> Mục đích của mình muốn hợp kết quả 2 dòng GIOI lại thành 1 dòng duy nhất và trả kết quả về con số tổng (9+10=19). Nghĩa là bảng dữ liệu trả về sẽ là:
GIOI 19
YEU 4
Mình đã dùng thử UNION hoặc UNION ALL nhưng kết quả ko hề thay đổi @@ hic hic...(@$%@
MOng mọi người giúp với, mình xin chân thành cám ơn }}}}}
 
UNION ALL chỉ gộp kết quả lại (A có 3 dòng B có 4 dòng thì C=A+B có 7 dòng)
UNION gộp kết quả và loại bỏ các dòng lặp lại (vd trên nếu 7 dòng trên có 3 dòng giống nhau thì thanh lọc lại còn 5 dòng)
Để thực hiện ý của ban, dùng UNION ALL và lồng vào một câu truy vấn khác, và group by chúng lại.
Bạn học SQL ở đâu vậy? Bình thường người ta học GROUP trước khi học UNION
 
Lần chỉnh sửa cuối:
Hehe mình tự mò mẫm để học ko à, ko theo giáo trình nào cả. Vậy tức là bây giờ sau khi gộp xong mình xem bảng dữ liệu trả về như là 1 bảng tạm, rồi tiếp tục truy vấn từ bảng đó hả bạn ?

Yeah, mình đã làm được rồi, cám ơn gợi ý của bạn
 
Chỉnh sửa lần cuối bởi điều hành viên:
Web KT
Back
Top Bottom