Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

cara menggabungkan tabel dengan hubungan 1 ke banyak menjadi 1 baris record

Rahasianya adalah bergabung di tbl_equipwarranty dua kali - menggunakan 2 alias berbeda. Satu untuk garansi servis dan satu lagi untuk garansi produk. Anda dapat melakukan ini dengan menentukan servicetype sebagai bagian dari join. Berikut ini menggunakan ANSI joins jadi mungkin akan berfungsi di firebird dan 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. Membuat carriage return di sel csv melalui php

  2. SpringDataJPA menyimpan hubungan OneToOne menjadi Tidak dapat menambah atau memperbarui baris anak:batasan kunci asing gagal

  3. spring jpa application.properties useSSL

  4. Permintaan gabungan dengan beberapa pilihan posting Java 8

  5. Mengimpor beberapa file csv ke tabel mysql