Тайната е да се присъедините към tbl_equipwarranty два пъти - като използвате 2 различни псевдоними. Един за гаранцията за обслужване и един за гаранцията на продукта. Можете да направите това, като посочите типа услуга като част от присъединяването. Следното използва ANSI присъединявания, така че вероятно ще работи във firebird и 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'