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

Откуда:
Сообщений: 24
Здравствуйте!
Есть БД на ms2000, нужно создать запрос для объединения таблиц с фильтрацией мусора
имеем к примеру:

create table Table1
(
ID int,
Name VARCHAR(100)
)
go
create table Table2
(
ID int,
Adreess VARCHAR(100)
)
go
create table Table3
(
ID int,
vd VARCHAR(100)
)
go
insert into Table1 (ID, Name)
values (1, 'Вася')
insert into Table1 (ID, Name)
values (2, 'Коля')
insert into Table1 (ID, Name)
values (3, 'Петя')
insert into Table1 (ID, Name)
values (4, 'Саша')
GO
insert into Table2 (ID, Adreess)
values (1, 'Киев')
insert into Table2 (ID, Adreess)
values (1, 'Одесса')
insert into Table2 (ID, Adreess)
values (2, 'оренбург')
insert into Table2 (ID, Adreess)
values (2, 'орск')
insert into Table2 (ID, Adreess)
values (2, 'бузулук')
insert into Table2 (ID, Adreess)
values (3, 'Астана')
insert into Table2 (ID, Adreess)
values (4, 'Жмеренка')

go
insert into Table3 (ID, vd)
values (1, 'физика')
insert into Table3 (ID, vd)
values (1, 'математика')
insert into Table3 (ID, vd)
values (2, 'ит')
insert into Table3 (ID, vd)
values (2, 'вирусы')
insert into Table3 (ID, vd)
values (3, 'юрист')
insert into Table3 (ID, vd)
values (4, 'история')
insert into Table3 (ID, vd)
values (4, 'химия')
GO

При объединении получается чтото вида

Вася Киев математика
Вася Киев физика
Вася Одесса математика
Вася Одесса физика
Коля бузулук вирусы
Коля бузулук ит
Коля оренбург вирусы
Коля оренбург ит
Коля орск вирусы
Коля орск ит
Петя Астана юрист
Саша Жмеренка история
Саша Жмеренка химия

а надо бы вот так

Вася Киев математика
Одесса физика
Коля бузулук вирусы
оренбург ит
орск
Петя Астана юрист
Саша Жмеренка история
химия

Получил недавно подобную таблицу, сам сделать не смог.
На чем и как делается подскажите.
7 дек 11, 17:51    [11724002]     Ответить | Цитировать Сообщить модератору
 Re: Join 3 и более таблиц без повторений  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
XMEH
а надо бы вот так

Вася	Киев		математика
Одесса физика
Коля бузулук вирусы
оренбург ит
орск
Петя Астана юрист
Саша Жмеренка история
химия
Рекомендую отдать данные используемому Вами движку отчетов, там должна быть спец. опция для этого,
тогда Вам вообще ничего делать и не надо будет

(В Crystal Reports точно есть, в Fast Reports вроде тоже)

ЗЫ правильно "Жмеринка"
7 дек 11, 18:01    [11724077]     Ответить | Цитировать Сообщить модератору
 Re: Join 3 и более таблиц без повторений  [new]
Baddy
Member

Откуда: Харьков
Сообщений: 174
XMEH,

а куда подевался, к примеру,
Вася Киев физика
?
7 дек 11, 19:43    [11724833]     Ответить | Цитировать Сообщить модератору
 Re: Join 3 и более таблиц без повторений  [new]
XMEH
Member

Откуда:
Сообщений: 24
Baddy,
Так задумано, в каждую колонку должны записаться только по одной записи без четкого соответствия а только перечисление имеющихся значений, начиная с первой строки группы
8 дек 11, 06:33    [11726408]     Ответить | Цитировать Сообщить модератору
 Re: Join 3 и более таблиц без повторений  [new]
XMEH
Member

Откуда:
Сообщений: 24
Паганель,
спасибо, сейчас попробую.
но все таки, должен же QA сделать то же что и CryRep?
8 дек 11, 06:44    [11726413]     Ответить | Цитировать Сообщить модератору
 Re: Join 3 и более таблиц без повторений  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Baddy
XMEH,

а куда подевался, к примеру,
Вася Киев физика
?
Правильно. В Жмеринку!
8 дек 11, 09:17    [11726617]     Ответить | Цитировать Сообщить модератору
 Re: Join 3 и более таблиц без повторений  [new]
проходящий.
Guest
XMEH
Паганель,
спасибо, сейчас попробую.
но все таки, должен же QA сделать то же что и CryRep?
Почему? Почему редактор текста должен сделать то же что и генератор отчетов?
8 дек 11, 10:48    [11727168]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить