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

cách kết hợp các bảng có mối quan hệ từ 1 đến nhiều thành 1 dòng bản ghi

Bí quyết là tham gia tbl_equipwarranty hai lần - sử dụng 2 bí danh khác nhau. Một cho bảo hành dịch vụ và một cho bảo hành sản phẩm. Bạn có thể thực hiện việc này bằng cách chỉ định loại dịch vụ như một phần của phép nối. Phần sau sử dụng các phép nối ANSI nên có thể sẽ hoạt động trong firebird và mysql:

SELECT
    a.equipmentid,
    a.codename,
    a.name,
    a.labelid,
    a.ACQUISITIONDATE,
    a.description,
    a.partofid,
    w1.warrantyid as serviceidwarranty, 
    w1.startdate, 
    w1.enddate,
    w2.warrantyid as productidwarranty, 
    w2.startdate, 
    w2.enddate
FROM TBL_EQUIPMENTMST a 
INNER JOIN tbl_equipwarranty w1 
    ON w1.equipmentid = a.equipmentid AND w1.servicetype = 'service'
INNER JOIN tbl_equipwarranty w2 
    ON w2.equipmentid = a.equipmentid AND w2.servicetype = 'Product'
WHERE
a.partofid = '57'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP - kết nối với cơ sở dữ liệu mysql từ máy chủ khác nhau

  2. kết nối với mysql bằng c ++

  3. Mysql - kết nối với máy chủ từ xa bằng địa chỉ IP

  4. Cách hiển thị dữ liệu quan hệ trong yii2

  5. Không chuyển đổi được từ loại [java.lang.Object []] sang loại [@ org.springframework.data.jpa.repository.Query