Có thể lấy dữ liệu từ hai bảng (có cùng trường) vào một chế độ xem hay không. Về cơ bản, do đó, chế độ xem xem dữ liệu như thể nó là một bảng.Dữ liệu từ hai bảng vào một chế độ xem
Trả lời
Vâng, sử dụng một UNION -
CREATE VIEW vw_combined AS
SELECT * FROM TABLE1
UNION ALL
SELECT * FROM TABLE2
... đòi hỏi rằng có thể cùng một số cột, và trận đấu kiểu dữ liệu tại từng vị trí.
..preferrably, sử dụng lệnh JOIN:
CREATE VIEW vw_combined AS
SELECT *
FROM TABLE1 t1
JOIN TABLE2 t2 ON t2.col = t1.col
Nhưng tôi muốn cảnh báo chống lại tùy thuộc vào quan điểm - nếu không muốn nói cụ thể hóa, họ chỉ chuẩn bị câu lệnh SQL. Không có lợi ích hiệu suất và có thể tác động tiêu cực đến hiệu suất nếu bạn xây dựng chế độ xem dựa trên một chế độ xem khác. Ngoài ra, lượt xem rất dễ vỡ - chúng có thể thay đổi và bạn sẽ không biết cho đến khi sử dụng chế độ xem hỗ trợ nếu có vấn đề.
create or replace view view_name as
select * from table_1
union all select * from table_2
Lưu ý: Các cột trong giao diện được thiết lập tại thời điểm xem được tạo ra. Thêm cột vào bảng_1 và bảng_2 sau khi tạo chế độ xem sẽ không hiển thị trong view_name. Bạn sẽ cần phải chạy lại DDL ở trên để có được các cột mới hiển thị.
Nếu bạn muốn lặp lại hàng để được collasped đến hàng đơn (nhưng công việc có khả năng nhiều hơn cho máy chủ):
create or replace view view_name as
select * from table_1
union select * from table_2
Nói chung nó là hình thức xấu để sử dụng *
trong danh sách lựa chọn, nhưng giả định rằng các truy vấn bằng cách sử dụng khung nhìn sẽ chỉ chọn những gì họ cần, tôi sẽ sử dụng nó ở đây thay vì đặt tên rõ ràng tất cả các cột. (Đặc biệt vì tôi không muốn phải thêm tên cột khi table_1 và table_2 thay đổi.)
+1: Tôi đã quên đề cập đến các cột khi tạo ra –
@OMG Ngựa vằn: Điều đó gần đây tôi, nó mới mẻ trong các ngân hàng bộ nhớ. –
- 1. Truyền một ManagedObjectContext sang chế độ xem thứ hai
- 2. C# rất chậm khi đang điền dữ liệu vào chế độ xem dữ liệu
- 3. Định vị chế độ xem dưới hai chế độ xem (hoặc chế độ xem thấp nhất)
- 4. MySQL tạo chế độ xem nối hai bảng
- 5. INSERT dữ liệu từ một bảng vào nhiều bảng
- 6. Chế độ xem Sqlite trên nhiều cơ sở dữ liệu
- 7. Thêm nhiều hơn hai chế độ xem vào ViewSwitcher
- 8. Cách hibernate truy xuất dữ liệu từ chế độ xem cơ sở dữ liệu hiện tại?
- 9. Chuyển hình ảnh từ một chế độ xem sang một chế độ xem khác
- 10. cách tải chế độ xem vào một chế độ xem mã vạch 2.1 khác?
- 11. django: trả lại dữ liệu hình ảnh từ một chế độ xem
- 12. Codeigniter: Tham gia 3 bảng và hiển thị dữ liệu ở chế độ xem
- 13. Hiển thị chế độ xem từ chế độ không xem/chế độ xem trong mvvmcross
- 14. Sự kiện nhấp đúp vào ô trong chế độ xem lưới dữ liệu
- 15. Chế độ xem bảng Javafx không hiển thị dữ liệu trong tất cả các cột
- 16. Sử dụng Datastore (NDB), API tìm kiếm hoặc cả hai cho chế độ xem dữ liệu?
- 17. UITableViewScrollPositionNone không cuộn chế độ xem bảng
- 18. chế độ xem sử dụng lại từ bảng phân cảnh
- 19. Hai UITableView trong cùng một chế độ xem
- 20. Hiệu suất cơ sở dữ liệu của chế độ xem so với bảng mới
- 21. Sails.js - chuyển dữ liệu sang chế độ xem
- 22. SlickGrid Chế độ xem dữ liệu là gì?
- 23. Kiểm soát chế độ xem chế độ xem từ một tài nguyên
- 24. nhận dữ liệu mô hình cho chế độ xem backbone.js
- 25. Ẩn chế độ xem bảng cho đến khi tất cả dữ liệu được tải - IOS
- 26. Tự động thêm các cột vào một bảng trong chế độ xem ASP.NET MVC
- 27. Tạo hai trang hoạt động trong một chế độ xem
- 28. Cách thêm chế độ xem phụ vào một chế độ xem trên web để chế độ xem phụ sẽ cuộn cùng với chế độ xem web?
- 29. Đẩy vào Chế độ xem chi tiết từ ô xem bảng bằng cách sử dụng Bảng phân cảnh Xcode
- 30. Xem chế độ xem Fragment từ FragmentActivity
"thích hợp hơn, bằng cách sử dụng JOIN" Chỉ khi đáp ứng các yêu cầu. Tôi không thấy một ngụ ý rằng các hàng trong table1 và table2 có liên quan trong cách một phép nối sẽ có ý nghĩa. OP đã tuyên bố: "có cùng các trường" để công đoàn sẽ hoạt động nếu các loại khớp với nhau. –
@Shannon Mức độ nghiêm trọng: Tôi không thấy tác hại trong việc đề xuất đánh giá logic hoặc cung cấp thêm thông tin có thể hữu ích. –
Tôi đồng ý sẽ tốt khi đề cập đến việc tham gia, bởi vì có hai cách để kết hợp hai bảng làm cho kết quả dài hơn hoặc rộng hơn các bảng một mình. (1 cho rằng BTW.) Tôi chỉ không nghĩ rằng một là thích hợp với người khác mà không biết chắc chắn những gì OP đang cố gắng để làm. –