Получение результатов при использовании одной и той же таблицы дважды - PullRequest
0 голосов
/ 14 января 2019

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

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

Я могу получить результаты в MySQL, и он перечисляет все, но код для получения результатов с использованием ASP Classic, похоже, не работает.

Это мой SQL-запрос и код для извлечения данных:

sql = "SELECT * FROM vacation LEFT JOIN user ua ON vacation_user = ua.user_id LEFT JOIN user ub ON vacation_granted_id = ub.user_id WHERE 1"
Set RS = Cn.Execute(sql)

uname = RS("ua.user_name")
gname = RS("ub.user_name")

Я надеялся, что смогу получить значения из пользовательской таблицы, используя "ua". и "уб." получить правильную таблицу, но это ничего не возвращает.

Это просто невозможно с помощью "SELECT *"? Нужно ли объявлять все переменные заранее, чтобы можно было использовать одну и ту же таблицу дважды?

1 Ответ

0 голосов
/ 14 января 2019

Вам необходимо предоставить отдельные псевдонимы для каждого:

SELECT v.*, u.user_name, ug.user_name as granted_user_name
FROM vacation v LEFT JOIN
     user u
     ON v.vacation_user = u.user_id LEFT JOIN
     user ug
     ON v.vacation_granted_id = ug.user_id ;

И затем, конечно, получить их, используя имена:

uname = RS("user_name")
gname = RS("granted_user_name")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...