Bí quyết là tham gia tbl_equipwarranty hai lần - sử dụng 2 bí danh khác nhau. Một cho bảo hành dịch vụ và một cho bảo hành sản phẩm. Bạn có thể thực hiện việc này bằng cách chỉ định loại dịch vụ như một phần của phép nối. Phần sau sử dụng các phép nối ANSI nên có thể sẽ hoạt động trong firebird và 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'