Mmmm... EAV. Jednym z wielu powodów, dla których warto unikać EAV (wartość atrybutu encji) jest to, że trudniej jest je zgłosić i wykonać zapytanie. Jeśli jednak pożądane atrybuty są znane z wyprzedzeniem, możesz zrobić coś takiego:
Select id
, Min( Case When name = 'Make' Then attribute_value End ) As Make
, Min( Case When name = 'Year' Then attribute_value End ) As Year
, Min( Case When name = 'Type' Then attribute_value End ) As Type
, Min( Case When name = 'Axles' Then attribute_value End ) As Axles
, Min( Case When name = 'Size' Then attribute_value End ) As Size
, Min( Case When name = 'Frame' Then attribute_value End ) As Frame
, ...
From attributes
Where name In('Make','Year','Type','Axles','Size','Frame',....)
Group By id
Teraz MySQL ma funkcję GROUP_CONCAT, która pozwala łączyć wiele wartości tego samego atrybutu w listę, jeśli na to zezwolisz (np. jeśli jednostka może mieć wiele atrybutów Make).