Можете да използвате няколко леви обединявания, за да направите това.
SELECT
o.create_date,
o.title,
o.author,
op1.value AS start_date,
op2.value AS end_date,
...
FROM object o
LEFT JOIN object_properties op1 ON op1.object_id=o.object_id AND op1.type_id=1
LEFT JOIN object_properties op2 ON op2.object_id=o.object_id AND op2.type_id=2
Стойности, които нямат свойства, в крайна сметка ще бъдат нулеви.
Този метод също не е необходимо да имате втора заявка, за да получите свойствата.
РЕДАКТИРАНЕ Ако не искате да извличате нулеви стойности, пропуснете left
част от left join
.