У меня есть таблица 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
, поэтому вы не получите никаких результатов. Без данных о расходных образцах и ожидаемых результатов мы можем только догадываться, почему ваша попытка не сработала.
Непонятно, о чем вы спрашиваете, можете ли вы предоставить примерные данные и ожидаемый результат, но не в виде изображения
@ThomA я загрузил таблицу городов
@GuidoG мой вопрос, когда tik_source=1 и tik_destination=2 он не работает, а если 1,1, то работает
«Я загрузил таблицу городов» Я все еще не вижу никаких данных в вашем вопросе. Просто абзац и немного кода (изображения не в счет).
@ThomA приводит к третьему и четвертому изображениям.
Я попытался скопировать ваше изображение в SSMS, @waleed, чтобы выполнить ваш запрос. Это не сработало; изображения — это не текст, это изображения... Как я уже говорил: Пожалуйста, не загружайте изображения кода/данных/ошибок, когда задаете вопрос.
Я использую ноутбук с крошечным экраном. Я не могу прочитать текст изображения.
Проблема в том, что у вас есть:
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