Как совместить sql querie? - PullRequest
       3

Как совместить sql querie?

0 голосов
/ 05 декабря 2018

У меня три таблицы:

Таблица: машина

id integer
owner integer
color varchar
type varchar
productor integer
date_of_produce integer

Владелец таблицы

id integer
first_name varchar
last_name varchar
address varchar
birth_date integer
place_of_birth varchar
email varchar

Таблица: производитель

id integer
name varchar
address_of_producer varchar
email varchar

Как объединить два запроса, чтобы получить наиболее частый тип автомобилей между владельцами старше 25 лет?

SELECTtype FROM car INNER JOIN владелец ON car.tulajdonos = owner.id WHERE 2018 - owner.birth_date <= 25 </p>

SELECT тип, COUNT (тип) c FROM car GROUP BY тип ORDER BY c DESCLIMIT 1

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Есть пара проблем с двумя запросами в вашем вопросе.

  1. Первый запрос делает Group by car;но Group by необходимо указать столбец (столбцы) для группировки, а не имя таблицы.Заданные столбцы должны быть неагрегированными столбцами из запроса.
  2. Второй запрос выполняет FROM owner WHERE (date_of_produce;но этот столбец не существует в этой таблице.
  3. В этом вопросе есть двусмысленность;но я думаю, что вы неверно истолковали это. «Какой тип автомобилей является наиболее частым среди владельцев, которым более 25 лет» - Я думаю, что 25 лет относится к владельцам, а не к автомобилям.

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

Хотя у вас естьпринял ответ, который предлагает ПРИСОЕДИНИТЬСЯ, я думаю, что решение не требует его.

0 голосов
/ 05 декабря 2018

Посмотрите на использование объединений.В конце вашего первого утверждения выберите:

ОТ АВТОМОБИЛЯ ПРИСОЕДИНЯЙТЕСЬ к владельцу на owner.id = car.owner

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