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

Откуда:
Сообщений: 10
Всем доброго времени суток!)
Хелп плз! Мне жутко не хватает теории...

Таблица [cont_price]:
[Гостиница]
,[Категория гостницы]
,[Номер]
,[Дни недели]
,[Дата создания]
,[Дата изменения]
,[city]

Таблица [HotelTown]:
,[name]
,[star]
,[town]

Таблица [Towns]:
[inc]
,[state]
,[region]
,[alias]
,[name]

Нужно сделать вывод столбца [city] с названием городов...

[Гостиница] в [cont_price] содержит названия гостиниц как и [name] в [HotelTown]
[town] в [HotelTown] содержит ИД города равное [inc] в [Towns]
[name] в [Towns] содержит название города, которое нужно вывести как [city] в [cont_price].

Соответственно, каждая гостиница должна иметь свой город.

Заранее благодарю
17 июл 19, 02:37    [21928181]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 29049
Rokmusic
Мне жутко не хватает теории...
Читайте про JOIN
В хелпе есть примеры, ищите из них те, в которых это слово, и подставляйте имена своих таблиц.
17 июл 19, 06:58    [21928196]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
Rokmusic
Member

Откуда:
Сообщений: 10
alexeyvg, Спасибо. Я конечно же это делал!) и не один час. По этому и прошу помощи!

пор фавор! Буду благодарен!
17 июл 19, 07:01    [21928197]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
Massa52
Member

Откуда:
Сообщений: 357
Rokmusic,
Результат, как делал надо бы показать, а то сомнения одолевают.
17 июл 19, 07:48    [21928206]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
Rokmusic
Member

Откуда:
Сообщений: 10
Massa52,
SELECT TOP 1000 [Гостиница]
,[Категория гостницы]
,[Номер]
,[Размещение]
,[Питание] as [townn]
,[Начало сезона]
,[Конец сезона]
,[Дата заявки с]
,[Дата заявки по]
,[Ночей]
,[Цена]
,[Валюта (код)]
,[Код рынка]
,[Группа партнеров]
,[Партнер]
,[Тип цены]
,[Ночей проживания от]
,[Ночей проживания до]
,[Дни недели]
,[Дата создания]
,[Дата изменения]
,[Код автора]
,[Имя автора]
,[Код редактора]
,[Имя редактора]
,[Страна/город вылета]
,[Примечание прайс-листа (гостиница)]
FROM [Income].[dbo].['Контрактные цены$']
Where [Гостиница] IN (SELECT [town] as [ntown] FROM dbo.hotel Where [town] IN (SELECT [inc] FROM dbo.town))

Ошибка:
Conversion failed when converting the nvarchar value 'GRAND BAHIA PRINCIPE TURQUESA' to data type int.


После, сделал таблицы со столбцами с нужной Data Type, но вывод был - пустой. Оно и не удивительно...
Хелп ребятки!!!

PS
Таблицы на тот момент были другие.
17 июл 19, 09:21    [21928251]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
court
Member

Откуда:
Сообщений: 1784
Rokmusic
Я конечно же это делал!)
не ври, нет в твоём запросе JOIN
17 июл 19, 09:32    [21928261]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
Rokmusic
Member

Откуда:
Сообщений: 10
court, В этом нет. Я делал с LEFT JOIN.
17 июл 19, 09:53    [21928288]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1647
Несколько раз перечитал, так и не понял, что надо-то?

Можно руками сляпаный пример результата?
17 июл 19, 10:31    [21928321]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 29049
Yuri Abele
Несколько раз перечитал, так и не понял, что надо-то?

Можно руками сляпаный пример результата?
Ему надо сделать запрос из нескольких связанных таблиц.
Никакой логики, никаких условий, никакого агрегирования, просто запрос.

Rokmusic
Я конечно же это делал!) и не один час
Так покажите запрос с JOIN-ом, и расскажите, что не получается, поправим.
Rokmusic
Я делал с LEFT JOIN.
Вряд ли тут нужен LEFT, вы же пишите, что поле с городом всегда заполнено.
17 июл 19, 10:40    [21928329]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
982183
Member

Откуда: VL
Сообщений: 3104
  Where [Гостиница] IN (SELECT [town] as [ntown] FROM dbo.hotel Where [town] IN (SELECT [inc] FROM dbo.town))


Второй раз за неделю вижу подобные вложенные структуры.
Это результат отсутствия имени представления, или есть более глубокий смысл?
17 июл 19, 10:57    [21928344]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
court
Member

Откуда:
Сообщений: 1784
982183
  Where [Гостиница] IN (SELECT [town] as [ntown] FROM dbo.hotel Where [town] IN (SELECT [inc] FROM dbo.town))



Второй раз за неделю вижу подобные вложенные структуры.
Это результат отсутствия имени представления, или есть более глубокий смысл?
Это "интерпретация" вложенных IF-ов из ЯП, на SQL-е :)
17 июл 19, 11:21    [21928373]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
Rokmusic
Member

Откуда:
Сообщений: 10
982183, Думаю это результат огромного желания+незнания )
17 июл 19, 11:26    [21928380]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
Rokmusic
Member

Откуда:
Сообщений: 10
court, Я с MS SQL вообще впервые работаю. С SQL насмотрелся, ага)
17 июл 19, 11:28    [21928383]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
Rokmusic
Member

Откуда:
Сообщений: 10
Yuri Abele,

Извини, не увидел твоего сообщения. Друг помог составить. Надо было так:
автор
SELECT TOP 100000 [Гостиница]
,[Категория гостницы]
,[Номер]
,[Размещение]
,[Питание]
,[Начало сезона]
,[Конец сезона]
,[Дата заявки с]
,[Дата заявки по]
,[Ночей]
,[Цена]
,[Валюта (код)]
,[Код рынка]
,[Группа партнеров]
,[Партнер]
,[Тип цены]
,[Ночей проживания от]
,[Ночей проживания до]
,[Дни недели]
,[Дата создания]
,[Дата изменения]
,t3.name AS [city]
FROM [piter].[dbo].[cont_price] t1
JOIN [piter].[dbo].[HotelTown] t2 ON t2.name = t1.[Гостиница]
JOIN [piter].[dbo].Towns t3 ON t3.inc = t2.town
17 июл 19, 11:30    [21928385]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
court
Member

Откуда:
Сообщений: 1784
Rokmusic
Всем доброго времени суток!)
Хелп плз! Мне жутко не хватает теории...

Таблица [cont_price]:
[Гостиница]
,[Категория гостницы]
,[Номер]
,[Дни недели]
,[Дата создания]
,[Дата изменения]
,[city]

Таблица [HotelTown]:
,[name]
,[star]
,[town]

Таблица [Towns]:
[inc]
,[state]
,[region]
,[alias]
,[name]

Нужно сделать вывод столбца [city] с названием городов...

[Гостиница] в [cont_price] содержит названия гостиниц как и [name] в [HotelTown]
[town] в [HotelTown] содержит ИД города равное [inc] в [Towns]
[name] в [Towns] содержит название города, которое нужно вывести как [city] в [cont_price].

Соответственно, каждая гостиница должна иметь свой город.

Заранее благодарю


select c.[name] as [city], a.* 
from [cont_price] a
inner join [HotelTown] b on a.[Гостиница]=b.[name]
inner join [Towns] c on c.[inc]=b.[town]
17 июл 19, 11:31    [21928386]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
Rokmusic
Member

Откуда:
Сообщений: 10
court, Благодарю! Жаль, что поздно. Успехов!
17 июл 19, 11:39    [21928398]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
982183
Member

Откуда: VL
Сообщений: 3104
Неужто трудно написать, что-то типа:
"вывести таблицу cont_price. добавив в начало столбец с именем города."

И каждый раз так...
Как эти задания выглядят в первоисточнике?
или устно препод задает?
17 июл 19, 12:27    [21928464]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
iap
Member

Откуда: Москва
Сообщений: 46838
court
Rokmusic
Всем доброго времени суток!)
Хелп плз! Мне жутко не хватает теории...

Таблица [cont_price]:
[Гостиница]
,[Категория гостницы]
,[Номер]
,[Дни недели]
,[Дата создания]
,[Дата изменения]
,[city]

Таблица [HotelTown]:
,[name]
,[star]
,[town]

Таблица [Towns]:
[inc]
,[state]
,[region]
,[alias]
,[name]

Нужно сделать вывод столбца [city] с названием городов...

[Гостиница] в [cont_price] содержит названия гостиниц как и [name] в [HotelTown]
[town] в [HotelTown] содержит ИД города равное [inc] в [Towns]
[name] в [Towns] содержит название города, которое нужно вывести как [city] в [cont_price].

Соответственно, каждая гостиница должна иметь свой город.

Заранее благодарю


select c.[name] as [city], a.* 
from [cont_price] a
inner join [HotelTown] b on a.[Гостиница]=b.[name]
inner join [Towns] c on c.[inc]=b.[town]
Кстати, перечислить нужные поля через запятую - более правильно, чем применить звёздочку.
Вызывает сомнение связывание таблиц по текстовому полю (name и Гостиница).
Нехорошо это...
17 июл 19, 12:28    [21928465]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
Rokmusic
Member

Откуда:
Сообщений: 10
982183, Есть база. сделать запрос в базу для партнера, так как нужно обновить цены.
Кстати, я в виде XML могу получать данные через браузер?))

Всем огромное спасибо. Старался написать необходимое как можно подробнее.
19 июл 19, 09:04    [21929931]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL 2014 Запрос значения из других таблиц  [new]
Rokmusic
Member

Откуда:
Сообщений: 10
982183,
автор
Нужно сделать вывод столбца [city] с названием городов...

Я ж писал)
19 июл 19, 09:06    [21929936]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить