MySQL - нужно запросить из нескольких столбцов

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

Я пытаюсь сделать такой запрос

SELECT incident.`number`, `user`.first_name, (SELECT `user`.first_name  from ITSM.`user` JOIN incident on `user`.sys_id = incident.id_created_by) as createdby
from ITSM.incident
JOIN ITSM.`user` on incident.id_caller = `user`.sys_id
;*

но это # ​​не работает, я получил ошибку: Подзапрос возвращает более 1 строки

Как сделать правильный запрос?

Этот тоже не работает, та же ошибка:

SELECT incident.`number`, (SELECT user.first_name from ITSM.`user`, ITSM.incident WHERE user.sys_id = incident.id_created_by) as createdby
from ITSM.incident
JOIN ITSM.`user` on incident.id_caller = user.sys_id*
;

и это мой Идентификатор БД для пользователя, создавшего

Пожалуйста, предоставьте более подробную информацию и уточните, что вы хотите сделать. Вы пишете «мне нужно заменить все идентификаторы», но вы пишете только запросы. Вы хотите заменить что-то или выбрать что-то? Не могли бы вы предоставить свои данные здесь dbfiddle.uk/?rdbms=mysql_8.0 или, по крайней мере, добавить необходимые команды SQL для создания ваших данных, таким образом, ваша проблема может быть воспроизведена? Спасибо.

Jonas Metzler 23.04.2022 10:42

Пожалуйста, не публикуйте изображения текста — просто опубликуйте текст. Публикация только что сделанного снимка экрана ограничивает объем помощи, которую мы можем предложить, поскольку мы не можем скопировать текст и обработать запрос, используя ваши образцы данных со снимка экрана. Посмотрите, как создать минимальный воспроизводимый пример

SOS 23.04.2022 18:46
Освоение архитектуры микросервисов с 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
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
2
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам не нужен подзапрос. Просто обратитесь к исходной таблице каждого столбца в предложении select, здесь, если вам нужно 2 соединения с одной и той же таблицей, дайте им псевдоним и обратитесь к столбцам, используя этот псевдоним.

SELECT incident.`number`
    , caller.first_name as caller_name
    , creator.first_name AS createdby
FROM ITSM.incident
JOIN ITSM.`user` AS caller ON incident.id_caller = caller.sys_id
JOIN ITSM.`user` AS creator ON incident.id_created_by = creator.sys_id

номер Я предполагаю, что ваша логика соединения верна

Неа. этот запрос возвращает id_caller — пользователь, вызвавший этот инцидент. Я добавил новые скрины для моей темы, чтобы лучше описать

flamixx 23.04.2022 10:50

пытался ответить по телефону - не получилось - теперь ответ изменен

Paul Maxwell 23.04.2022 11:06

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