1

Тема: Як вивести ім'я маршруту?

В мене є дві таблиці
Route
-------------------------
Cityid1 INT FK (Cityid)
Cityid2 INT FK (Cityid)
-------------------------
City
-------------------------
Cityid INT PK
NameCity VARCHAR(30)
-------------------------
Як я можу вивести назву маршруту?
Приклад як я пробував виводити , але назви  дублуюватися:

SELECT CONCAT(NameCity,'',NameCity) AS [R_N]
FROM Route,City
WHERE City_id IN (Cityid1,Cityid2)

2

Re: Як вивести ім'я маршруту?

Dazai

SELECT CONCAT(NameCity,'',NameCity) AS [R_N]
FROM Route,City
WHERE City_id IN (Cityid1,Cityid2)

а де джойн?

3

Re: Як вивести ім'я маршруту?

Мені потрібно без джоінів виводити

4

Re: Як вивести ім'я маршруту?

Dazai написав:

Мені потрібно без джоінів виводити

Це саме так написано в завданні (ану покажіть), чи ви самі придумали?

Без явних джойнів буде cartesian джойн, тобто все очікувано навіть не дублюється, а саме множиться відповідно до кількості стрічок в обох таблицях. Дуже сумнівно, що завдання саме таке. В якості воркераунду можна вжити

select distinct...

5

Re: Як вивести ім'я маршруту?

frz написав:
Dazai написав:

Мені потрібно без джоінів виводити

Це саме так написано в завданні (ану покажіть), чи ви самі придумали?

Без явних джойнів буде cartesian джойн, тобто все очікувано навіть не дублюється, а саме множиться відповідно до кількості стрічок в обох таблицях. Дуже сумнівно, що завдання саме таке. В якості воркераунду можна вжити

select distinct...

Я мав на увазі без INNER,LEFT,RIGHT JOIN'нів

6

Re: Як вивести ім'я маршруту?

Я вже зрозумів як виконати

SELECT
CONCAT((SELECT NameCity from City  where Cityid = Cityid1),'->',(SELECT NameCity from City  where Cityid = Cityid2)) AS [R_N]
FROM Route 

7

Re: Як вивести ім'я маршруту?

frz написав:

а де джойн?

Dazai написав:

Мені потрібно без джоінів виводити
...
Я вже зрозумів як виконати

SELECT
CONCAT((SELECT NameCity from City  where Cityid = Cityid1),'->',(SELECT NameCity from City  where Cityid = Cityid2)) AS [R_N]
FROM Route 

Ви щойно зробили JOIN без слова "JOIN".