sql >> Database teknologi >  >> RDS >> Mysql

hvordan man kombinerer tabeller med 1 til mange relationer til 1 postlinje

Hemmeligheden er at deltage på tbl_equipwarranty to gange - ved at bruge 2 forskellige aliaser. En for servicegarantien og en for produktgarantien. Du kan gøre dette ved at angive servicetypen som en del af joinforbindelsen. Følgende bruger ANSI joins, så det vil sandsynligvis fungere i firebird og 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. hvordan kan man sammenkæde mere end to kolonner i plsql-udvikler?

  2. Mysql - Opsummering af antallet af flere sammenføjede tabeller

  3. Sådan konverteres Unix-epoke til et tidsstempel

  4. scatter plot i jfreechart fra databasen