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'