Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Nối kết quả của hai truy vấn mysql

Đang hoàn thành câu trả lời của @ Microgen ... Vì bạn đã có hai lựa chọn đầu tiên hoạt động như bạn muốn, bạn có thể giữ các kết quả đó trong các bảng tạm thời:

create temporary table tmp1 as <your first select>;
alter table tmp1 add <some index to accelerate your join later>;
create temporary table tmp2 as <your second select>;
alter table tmp2 add <some index to accelerate your join later>;

Sau đó, bạn có thể áp dụng một phép tham gia đơn giản để nhận được kết quả cuối cùng:

select tmp1.id, tmp1.name, tmp1.address, tmp2.occupation
    from tmp1 inner join tmp2 using (id)
    order by tmp1.id;

Một cách khác để làm điều đó là sử dụng VIEW , nhưng vì lập chỉ mục không phải là thứ tốt nhất mà họ có, nên tôi sẽ tránh chúng, đặc biệt khi hai select đầu tiên của bạn phức tạp như vậy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để hiển thị thời gian truy vấn trong Perl, DBI?

  2. Kéo các bản ghi từ bảng đơn đặt hàng cho tuần hiện tại

  3. Mật khẩu không được xác minh bằng cách sử dụng hàm password_verify

  4. Hibernate:tự tham gia nhầm lẫn?

  5. Trong SQL / MySQL, sự khác biệt giữa ON và WHERE trong một câu lệnh nối là gì?