Отобразить два имени из другой таблицы sql, где идентификатор равен

У меня есть таблица TownCity и таблица TicketDetails. Я хочу отображать название города для источника и пункта назначения, где customerId = 1. Проблема в том, что когда sourceId = 1 и Destination = 1, это работает, но если sourceId = 1 и Destination = 2, это не работает. я работаю вот мой запрос

SELECT        TicketDetails.tik_source, TicketDetails.tik_destination, 
         TownCity.town_name AS source, 
         TownCity.town_name AS destination,
         TicketDetails.Cust_Id
     FROM            TicketDetails INNER JOIN
                     TownCity ON TicketDetails.tik_destination = TownCity.town_Id
                      AND TicketDetails.tik_source = TownCity.town_Id
           WHERE        (TicketDetails.Cust_Id = 1)

и это работает, если идентификаторы 1,1

Я предполагаю, что у вас нет города со значением 2, поэтому вы не получите никаких результатов. Без данных о расходных образцах и ожидаемых результатов мы можем только догадываться, почему ваша попытка не сработала.

Thom A 22.08.2024 15:07

Непонятно, о чем вы спрашиваете, можете ли вы предоставить примерные данные и ожидаемый результат, но не в виде изображения

GuidoG 22.08.2024 15:11

@ThomA я загрузил таблицу городов

waleed 22.08.2024 15:19

@GuidoG мой вопрос, когда tik_source=1 и tik_destination=2 он не работает, а если 1,1, то работает

waleed 22.08.2024 15:21

«Я загрузил таблицу городов» Я все еще не вижу никаких данных в вашем вопросе. Просто абзац и немного кода (изображения не в счет).

Thom A 22.08.2024 15:23

@ThomA приводит к третьему и четвертому изображениям.

waleed 22.08.2024 15:25

Я попытался скопировать ваше изображение в SSMS, @waleed, чтобы выполнить ваш запрос. Это не сработало; изображения — это не текст, это изображения... Как я уже говорил: Пожалуйста, не загружайте изображения кода/данных/ошибок, когда задаете вопрос.

Thom A 22.08.2024 15:28

Я использую ноутбук с крошечным экраном. Я не могу прочитать текст изображения.

jarlh 22.08.2024 15:31
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
3
9
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Проблема в том, что у вас есть:

ON TicketDetails.tik_destination = TownCity.town_Id
AND TicketDetails.tik_source = TownCity.town_Id

это означает, что один и тот же город должен совпадать как с источником, так и с пунктом назначения. Что вам нужно, так это сделать два соединения с TownCity, что-то вроде псевдокода ниже:

select *
from ticketDetails t
inner join TownCity s
 ON s.town_id = t.tik_source
inner join TownCity d
 ON d.town_id = t.tik_destination

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

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