Tôi là một noob khi nói đến cú pháp SQL.Làm cách nào để kết hợp 2 câu lệnh chọn thành một?
Tôi có một bảng với rất nhiều hàng và cột của khóa học: P phép nói rằng nó trông như thế này:
AAA BBB CCC DDD
-----------------------
Row1 | 1 A D X
Row2 | 2 B C X
Row3 | 3 C D Z
Bây giờ tôi muốn tạo ra một lựa chọn công bố cao cấp mà mang lại cho tôi kết hợp (giả SQLish này đây):
select 'Test1', * from TABLE Where CCC='D' AND DDD='X'
select 'Test2', * from TABLE Where CCC<>'D' AND DDD='X'
Kết quả sẽ là:
Test1, 1, A, D, X
Test2, 2, B, C, X
Làm thế nào tôi sẽ kết hợp hai câu lệnh chọn đó vào một câu lệnh chọn lựa tốt đẹp?
Nó có hoạt động nếu tôi phức tạp SQL như dưới đây (vì câu lệnh SQL của riêng tôi chứa một câu lệnh tồn tại)? Tôi chỉ muốn biết làm thế nào tôi có thể kết hợp các lựa chọn và sau đó cố gắng áp dụng nó vào SQL hơi tiên tiến hơn của tôi.
select 'Test1', * from TABLE Where CCC='D' AND DDD='X' AND exists(select ...)
select 'Test2', * from TABLE Where CCC<>'D' AND DDD='X' AND exists(select ...)
câu lệnh SQL REAL của tôi là thế này:
select Status, * from WorkItems t1
where exists (select 1 from workitems t2 where t1.TextField01=t2.TextField01 AND (BoolField05=1))
AND TimeStamp=(select max(t2.TimeStamp) from workitems t2 where t2.TextField01=t1.TextField01)
AND TimeStamp>'2009-02-12 18:00:00'
mà mang lại cho tôi một kết quả. Nhưng tôi muốn kết hợp nó với một bản sao của câu lệnh select này với một AND được thêm vào và trường 'Status' sẽ được thay đổi bằng một chuỗi như 'DELETED'.
select 'DELETED', * from WorkItems t1
where exists (select 1 from workitems t2 where t1.TextField01=t2.TextField01 AND (BoolField05=1))
AND TimeStamp=(select max(t2.TimeStamp) from workitems t2 where t2.TextField01=t1.TextField01)
AND TimeStamp>'2009-02-12 18:00:00'
AND NOT (BoolField05=1)
+1 đó là câu hỏi cực kỳ được hỏi –