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'