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

Откуда: Минск
Сообщений: 407
Подскажите как будет выглядеть запрос.
Есть 2 таблицы:
1) Содержит колонки Индекс, ИндексТовара
2) Содержит ИндексТовара, НаименованиеТовара, причем ИндексТовара может повторятся, т.е. для одного ИндексТовара может быть много строк НаименованиеТовара.
Колонки с названиями ИндексТовара типа Bigint в двух таблицах связаны.
Какой должен быть запрос в бд чтобы получить Таблица1.Индекс и к нему все связанные Таблица2.НаименованиеТовара?
Я так понимаю если я потом буду перебирать набор записей который получу, то у меня будет много повторений одного и того же значения Таблица1.Индекс??
17 июн 13, 11:35    [14441067]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Slash232
Подскажите как будет выглядеть запрос.
Есть 2 таблицы:
1) Содержит колонки Индекс, ИндексТовара
2) Содержит ИндексТовара, НаименованиеТовара, причем ИндексТовара может повторятся, т.е. для одного ИндексТовара может быть много строк НаименованиеТовара.
Колонки с названиями ИндексТовара типа Bigint в двух таблицах связаны.
Какой должен быть запрос в бд чтобы получить Таблица1.Индекс и к нему все связанные Таблица2.НаименованиеТовара?
Я так понимаю если я потом буду перебирать набор записей который получу, то у меня будет много повторений одного и того же значения Таблица1.Индекс??

вы правильно понимаете...
вы получите набор вида:

Таблица1.Индекс НаименованиеТовара
1 ффф
1 фыва
1 феип
2 зщш
3 зщш
3 жлор
17 июн 13, 11:37    [14441090]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Glory
Member

Откуда:
Сообщений: 104760
Slash232
Какой должен быть запрос в бд чтобы получить Таблица1.Индекс и к нему все связанные Таблица2.НаименованиеТовара?

Запрос должен быть синтаксически правильным.
17 июн 13, 11:41    [14441116]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Slash232
Member

Откуда: Минск
Сообщений: 407
А какие еще есть варианты? Вариант при котором повторяется значение Таблица1.Индекс правильный или возможно получение набора записей когда Таблица1.Индекс не повторяется?
17 июн 13, 11:45    [14441163]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Slash232
Member

Откуда: Минск
Сообщений: 407
Slash232
А какие еще есть варианты? Вариант при котором повторяется значение Таблица1.Индекс правильный или возможно получение набора записей когда Таблица1.Индекс не повторяется?


Просто потом возникает проблема перебора этих значений.
17 июн 13, 11:46    [14441172]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Slash232
А какие еще есть варианты? Вариант при котором повторяется значение Таблица1.Индекс правильный или возможно получение набора записей когда Таблица1.Индекс не повторяется?

А тогда какое значение брать из таблица2????
Первое? Последнее? Самое длинное? Какое?:)
17 июн 13, 11:47    [14441175]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Glory
Member

Откуда:
Сообщений: 104760
Slash232
Просто потом возникает проблема перебора этих значений.

Тогда зачем вы пишите такой запрос, если вам не нужны повторяющиеся данные ?
17 июн 13, 11:51    [14441206]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Slash232
Member

Откуда: Минск
Сообщений: 407
Из Таблицы2 взять все назначения у которых индекс совпадает с индексом Таблицы1. А из Таблицы1 взять только Индекс
17 июн 13, 14:17    [14442223]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Glory
Member

Откуда:
Сообщений: 104760
Slash232
Из Таблицы2 взять все назначения у которых индекс совпадает с индексом Таблицы1. А из Таблицы1 взять только Индекс

И как должен выглядеть результат этого "взять все и взять только" ?
17 июн 13, 14:19    [14442244]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Slash232,

В каком виде вы хотите видеть результат?
17 июн 13, 14:19    [14442245]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Slash232
Member

Откуда: Минск
Сообщений: 407
Грубо говоря набор записей из Таблица1 с Индекс и к нему набор данных из Таблицы2. Я просто себе не могу представить каким образом мне потом перебирать этот набор если запись Индекс дублируется. Конечно как вариант сделать 2 различных запроса а потом как бы вручную их объединить но это мне кажется не грамотно. Больше вариантов нет?
18 июн 13, 10:31    [14446203]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Glory
Member

Откуда:
Сообщений: 104760
Slash232
Я просто себе не могу представить каким образом мне потом перебирать этот набор если запись Индекс дублируется.

Никто за вас это не представит.

Slash232
онечно как вариант сделать 2 различных запроса а потом как бы вручную их объединить но это мне кажется не грамотно.

Безграмотно спрашивать о грамотности решения неизвестной задачи.
"Перебрать набор" - это выбранный вами способ решения. А не задача
18 июн 13, 10:34    [14446222]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
ambarka_max
Member

Откуда: Россия
Сообщений: 517
Slash232
Грубо говоря набор записей из Таблица1 с Индекс и к нему набор данных из Таблицы2. Я просто себе не могу представить каким образом мне потом перебирать этот набор если запись Индекс дублируется. Конечно как вариант сделать 2 различных запроса а потом как бы вручную их объединить но это мне кажется не грамотно. Больше вариантов нет?

А в чем именно сложность с "перебором"? Каковы ваши цели? В итоге что нужно получить то?
18 июн 13, 10:34    [14446228]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Slash232
Member

Откуда: Минск
Сообщений: 407
ambarka_max
Slash232
Грубо говоря набор записей из Таблица1 с Индекс и к нему набор данных из Таблицы2. Я просто себе не могу представить каким образом мне потом перебирать этот набор если запись Индекс дублируется. Конечно как вариант сделать 2 различных запроса а потом как бы вручную их объединить но это мне кажется не грамотно. Больше вариантов нет?

А в чем именно сложность с "перебором"? Каковы ваши цели? В итоге что нужно получить то?


Пишу на VB. Есть две переменные, одна типа Integer, другая Collection или просто массив. Необходимо значения Таблица1.Индекс записать в первую переменную а значения Таблица2.НаименованиеТовара во вторую. Неужели после получения данных типа

1 фыв
1 а
1 ап
2 ап
2 апв
3 вапва
3 вапыва
3 ы
3 в

нужно будет сравнивать Индекс совпадает ли с предыдущим?
18 июн 13, 10:45    [14446295]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
так и делайте это средствами VB. Задача скуля вернуть вам данные из таблицы, а как вы их будете парсить в вашем приложении - ваша задача.
18 июн 13, 10:47    [14446312]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Glory
Member

Откуда:
Сообщений: 104760
Slash232
Пишу на VB. Есть две переменные, одна типа Integer, другая Collection или просто массив. Необходимо значения Таблица1.Индекс записать в первую переменную а значения Таблица2.НаименованиеТовара во вторую.

Какую задачу вы решаете ?
18 июн 13, 10:48    [14446316]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
ambarka_max
Member

Откуда: Россия
Сообщений: 517
Slash232
нужно будет сравнивать Индекс совпадает ли с предыдущим?

Как вариант, можно и сравнить, отсортируйте только записи по колонке Индекс.
Как вариант можно даже вернуть sql запросом еще одну доп колонку где будет флаг "начать новый коллекшн". Но это эквивалентно "сравнивать Индекс совпадает ли с предыдущим" но только не на стороне VB а на стороне SQL. Где вам проще там и реализуйте.
18 июн 13, 10:54    [14446358]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить