Проблемы с отчетливым запросом SQL - PullRequest
0 голосов
/ 30 ноября 2011

Хорошо, я пробовал это некоторое время, но пока не получилось, это немного мистично, поэтому, пожалуйста, помогите.

vehicle table

Вот мой стол. Мне нужно выбрать все отдельные модели и сгруппировать / упорядочить их по типу vehicle_type. Все в порядке, пока я не начну использовать DISTINCT. Я использую postgres Маленькая помощь с запросом, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 30 ноября 2011

Предполагается, что модель может быть разделена между несколькими типами транспортных средств:

SELECT vehicle_type,model 
FROM vehicle 
GROUP BY vehicle_type,model 
ORDER BY vehicle_type,model
1 голос
/ 01 декабря 2011

Модель данных не адекватно отражает ваши требования к отчетности, так как данные столбца должны быть проверены, чтобы классифицировать их, но что-то вроде: (экстраполируя возможные отношения из вашего описания)

SELECT CASE (vt.description ~ 'car$') 
       WHEN TRUE THEN 'car'
                 ELSE 'van' 
       END AS vehicle_group,
       vt.description AS vehicle_sub_group,
       COUNT (*) -- or whatever aggregates you might need
  FROM vehicle v
       INNER JOIN vehicle_type vt ON vt.vehicle_type = v.vehicle_type
 GROUP BY 1,2;

Может привести васчто вам нужно в указанном случае, однако это хрупкий способ работы с данными, и он не справится с дополнительными сложностями, например, если вам нужно разделить автомобиль на седан, спортивный автомобиль, 4WD или фургон на борт, 7,5 тонны,15 тонн и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...