Объединить результат 2 SELECT в один

У меня есть 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

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

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

RiggsFolly 27.05.2019 11:49

Действительно ли driverdetails.driverid== является location.truckid, то есть можем ли мы ПРИСОЕДИНИТЬСЯ к этим двум столбцам? или это был просто пример

RiggsFolly 27.05.2019 11:51

Я изменил, чтобы иметь тот же столбец: driverid

Duna 27.05.2019 11:53

Один и тот же столбец driverid в обеих таблицах, и значение должно быть одинаковым.

Duna 27.05.2019 11:56
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
2
4
30
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Затем вы должны попытаться использовать подзапрос:

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: после того, как вы отредактировали таблицы, чтобы они соответствовали какому-то столбцу, я рекомендую вам использовать ответ выше

Спасибо за ответ, он отлично работает. Кроме того, псевдонимы должны быть добавлены после каждого select.

Duna 27.05.2019 12:11
Ответ принят как подходящий
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'

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

Это несовместимо с 'sql_mode=only_full_group_by'

Duna 27.05.2019 12:15

Затем используйте тот же запрос с временной таблицей. или заменить sql_mode SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

Nishal K.R 27.05.2019 12:29
SELECT * FROM driverdetails INNER JOIN ( SELECT * FROM location WHERE location.utc = ( SELECT MAX(location.utc) FROM location WHERE location.driverid = '32bbdbe8-eda0-32a5-92c0-f9215e24edcf' ) ) as location_temp ON location_temp.driverid = driverdetails.driverid WHERE driverdetails.driverid = '32bbdbe8-eda0-32a5-92c0-f9215e24edcf'
Nishal K.R 27.05.2019 12:35

Другие вопросы по теме

Похожие вопросы

Как связать несколько фреймов в Java
Как внедрить имена файлов изображений в базу данных mysql
PHP AJAX Delete Record - удаление работает только 1 раз
Как отобразить результат group_concat отдельно в ячейке таблицы html?
Запрос на вычитание одного и того же значения столбца с разным интервалом дня с базой данных SQL
Используйте CASE THEN в SQL
Первые 5 строк суммируются по ссылке для каждого типа, все остальные равны 1, сгруппированы по идентификатору команды
Как получить сгенерированный внешний ключ, созданный в MySQL, для использования в функции вставки
Ниже приведен код динамической формы, который может вставлять данные, добавляя несколько входных данных от пользователя в строку, но я хочу, чтобы они были в столбце. Как мне это сделать?
Java Spring Boot + Mysql — возвращает ответ Json (ключ-значение), когда результат запроса mysql не соответствует какой-либо модели, соответствующей какой-либо таблице базы данных