Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите с запросом  [new]
liho26
Member

Откуда:
Сообщений: 22
Друзья, помогите с запростом
Есть три таблицы:

поля первой (t1)
id
project_ID
project_Name

поля второй (t2)
id
project_ID
URL_ID
....

поля третьей (t3)
id
project_ID
...
...

FK: t1.project_ID - t2.project_ID
FK: t2.URL_ID - t3.project_ID
при этом t3.project_ID и t1.project_ID - это разные значения совершенно

Задача состоит в том, чтобы по t3.project_ID узнать t1.project_Name

Что-то я запутался немного. Прошу о помощи.
С уважением...
27 июл 09, 13:02    [7463628]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Основные принципы соединения
Использование соединений
ну и там в этих статьях еще ссылки есть...
27 июл 09, 13:06    [7463662]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Ничего сложного! Вы уже всё почти написали.
SELECT t1.project_Name
FROM t1
JOIN t2 ON t1.project_ID=t2.project_ID
JOIN t3 ON t2.URL_ID=t3.project_ID
WHERE t3.project_ID=@t3_project_ID;
Или проще:
SELECT t1.project_Name
FROM t1
JOIN t2 ON t1.project_ID=t2.project_ID
WHERE t2.URL_ID=@t3_project_ID;
27 июл 09, 13:08    [7463679]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
iap
Ничего сложного! Вы уже всё почти написали.
SELECT t1.project_Name
FROM t1
JOIN t2 ON t1.project_ID=t2.project_ID
JOIN t3 ON t2.URL_ID=t3.project_ID
WHERE t3.project_ID=@t3_project_ID;
Или проще:
SELECT t1.project_Name
FROM t1
JOIN t2 ON t1.project_ID=t2.project_ID
WHERE t2.URL_ID=@t3_project_ID;
Нет, всё-таки, первый запрос правильный, ибо требует наличие записи в таблице t3,
в то время как второй запрос даст результат даже в случае пустой таблицы t3.
27 июл 09, 13:41    [7463979]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
liho26
Member

Откуда:
Сообщений: 22
iap
Ничего сложного! Вы уже всё почти написали.
SELECT t1.project_Name
FROM t1
JOIN t2 ON t1.project_ID=t2.project_ID
JOIN t3 ON t2.URL_ID=t3.project_ID
WHERE t3.project_ID=@t3_project_ID;
Или проще:
SELECT t1.project_Name
FROM t1
JOIN t2 ON t1.project_ID=t2.project_ID
WHERE t2.URL_ID=@t3_project_ID;


Ага, спасибо за оперативный ответ. Забыл отметить то, что из таблицы t3 по t3.project_ID надо выбрать еще масссу полей. Вот их-то я и не могу никак достать.
27 июл 09, 13:44    [7464016]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Glory
Member

Откуда:
Сообщений: 104760
liho26


Ага, спасибо за оперативный ответ. Забыл отметить то, что из таблицы t3 по t3.project_ID надо выбрать еще масссу полей. Вот их-то я и не могу никак достать.

Хм

SELECT t1.project_Name, t3.* ...
27 июл 09, 13:48    [7464049]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
liho26
Member

Откуда:
Сообщений: 22
Glory
liho26


Ага, спасибо за оперативный ответ. Забыл отметить то, что из таблицы t3 по t3.project_ID надо выбрать еще масссу полей. Вот их-то я и не могу никак достать.

Хм

SELECT t1.project_Name, t3.* ...



Блин.. м-да... Точно... Запарился совсем. Пора на обед.

Спасибо!
27 июл 09, 13:52    [7464072]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить