Объедините результат 2 SELECT в одном - PullRequest
0 голосов
/ 27 мая 2019

У меня есть 2 выбора:

SELECT * 
FROM driverdetails 
WHERE driverdetails.driverid = '32bbdbe8-eda0-32a5-92c0-f9215e24edcf'

SELECT * 
FROM location 
WHERE location.utc = (  SELECT MAX(location.utc) 
                        FROM location 
                        WHERE location.driverid = '32bbdbe8-eda0-32a5-92c0-f9215e24edcf'
                    );

И я пытаюсь получить один результат, например: Столбцы из select1 + столбцы из select 2

Как мне получить столбцы один за другимдругой, соблюдая все условия из примера?

Ответы [ 2 ]

0 голосов
/ 27 мая 2019
SELECT * 
FROM driverdetails 
INNER JOIN location ON location.driverid = driverdetails.driverid
WHERE driverdetails.driverid = '32bbdbe8-eda0-32a5-92c0-f9215e24edcf'

Выше вы присоединитесь к одному. Но согласно вашему состоянию, ему нужно MAX(location.utc)

для этого вам нужно создать временную таблицу по запросу

SELECT * 
FROM driverdetails 
INNER JOIN (
             SELECT *,MAX(location.utc) as maxUTC 
             FROM location 
             GROUP BY location.driverid 
           ) as location_temp ON location_temp.driverid = driverdetails.driverid
WHERE driverdetails.driverid = '32bbdbe8-eda0-32a5-92c0-f9215e24edcf'

Надеюсь, это работает для вас.

0 голосов
/ 27 мая 2019

Вы должны попытаться использовать подвыбор тогда:

SELECT
     (SELECT * 
     FROM driverdetails 
     WHERE driverdetails.driverid = '32bbdbe8-eda0-32a5-92c0-f9215e24edcf'
     ),
     (SELECT * 
     FROM location 
     WHERE location.utc = (  SELECT MAX(location.utc) 
                        FROM location 
                        WHERE location.driverid = '32bbdbe8-eda0-32a5-92c0-f9215e24edcf'
     );

UPD: после того, как вы отредактировали таблицы, чтобы они соответствовали некоторому столбцу, я рекомендую использовать ответ выше

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