Cách tiếp cận UNION được đề xuất bởi Akash và Juergen là khả thi, nhưng cần thêm một chút công việc:
- Xác định cột nào được chia sẻ bởi cả hai bảng.
- Xác định cột nào cụ thể cho một trong các bảng.
- Viết truy vấn liên kết tất cả các cột từ cả hai bảng, với các cột chung xuất hiện trong cùng một vị trí trong cả hai mệnh đề lựa chọn và giá trị null thay thế các cột theo bảng cụ thể. Bạn cũng có thể muốn một cột để chỉ ra những hàng nào đến từ những bảng nào.
Vì vậy, ví dụ, hãy xem xét bảng với các cấu trúc sau:
Projects
--------
ID
Name
Budget
Users
-----
ID
Name
PhoneNo
Để liệt kê kết quả từ hai bảng, bạn có thể sử dụng một truy vấn như:
select 'Projects' table_name, ID, Name, null as PhoneNo, Budget from Projects
union all
select 'Users' table_name, ID, Name, PhoneNo, null as Budget from Users
Tùy thuộc vào RDBMS của bạn , bạn có thể cần phải chuyển đổi một cách rõ ràng các giá trị rỗng thành kiểu dữ liệu được yêu cầu.
Nguồn
2012-03-14 09:20:11
Trong câu trả lời này, tôi thiếu điểm xuất phát từ đó. Tôi nhận ra stmt là một tuyên bố chuẩn bị, nhưng nó không rõ ràng. –