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

Nối hai bảng và lưu vào sql thứ ba

INSERT INTO TableC
SELECT
  t.word,
  SUM(COALESCE(a.countA, 0)) AS CountA,
  SUM(COALESCE(b.countB, 0)) AS countB
FROM
(
   SELECT wordA AS word FROM tableA
   UNION
   SELECT wordB FROM tableB
) AS t
LEFT JOIN tableA AS a on t.word = a.wordA
LEFT JOIN tableB AS b on t.word = b.wordb
GROUP BY t.word

Bản trình diễn SQL Fiddle

Điều này sẽ cung cấp cho bạn:

|   WORD | COUNTA | COUNTB |
|--------|--------|--------|
|     ab |      0 |     10 |
|    abc |     25 |     40 |
|   abcd |     29 |      0 |
|  abcde |     45 |     90 |
| abcdef |      0 |     55 |


  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ạo menu điều hướng đa cấp theo hướng cơ sở dữ liệu bằng Laravel

  2. MySQL:chỉ chọn email từ một bảng nếu không có trong bảng khác?

  3. Tại sao mã SQL này đưa ra lỗi 1066 (Không phải bảng / bí danh duy nhất:'người dùng')?

  4. Chèn vào Cơ sở dữ liệu MYSQL nếu không tồn tại

  5. Chỉ mục tổng hợp cho một bảng quan hệ