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

Tham gia các bảng bằng Phím Ngoại

Giả sử bạn chỉ muốn kết hợp mọi thứ lại với nhau như các khóa gợi ý ...

SELECT *
FROM table1
INNER JOIN table3 on table3.table1ID = table1.table1ID
INNER JOIN MEM_INSTR on MEM_INSTR.table2ID = table3.table2ID

Nhưng giả sử bạn có tình huống này.

CREATE TABLE Table1 (
    Table1ID NUMBER, 
    Generation NUMBER, 
    ... 
);

CREATE TABLE Table2 (
    Table2ID NUMBER, 
    Table1ID NUMBER, 
    Table1Generation NUMBER, 
    ...
);

Giả sử vì lợi ích của đối số rằng Table1 có thể có nhiều bản ghi với cùng một Table1ID và Generation được sử dụng làm khóa phụ. Và bạn cần kết hợp một bản ghi Table2 thành đơn vị chính xác Bản ghi Table1. Bạn có thể mở rộng ON mệnh đề giống như cách bạn mở rộng WHERE mệnh đề.

SELECT *
FROM table1 t1
INNER JOIN table2 t2 
    ON t2.table1id = t1.table1id 
    AND t2.table1generation = t1.generation


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tải dữ liệu vào db từ csv bằng cách sử dụng LOAD DATA INFILE trong drupal

  2. MySql chọn tất cả các bảng có nhiều cột cụ thể

  3. SQL, tham gia bên trong, thay thế id bằng tên

  4. Lệnh hướng dẫn không chính xác

  5. Làm thế nào để sao chép một bảng mysql sang một bảng khác trong cakephp?