запрос на объединение таблиц без дублирующихся данных

Lora__k
Дата: 29.09.2005 12:37:22
Есть две таблицы:
table1
idx_t1    name    idx_t2
1          a        11
2          b        22 

и 
table2
idx_t2    name 
11         c
22         d
Пишу запрос:
select t1.idx_t1, t1.name, t2.name from table1 t1 join table 
         on t1.idx_t2 = t2.idx_t2 AND t1.idx_t2 = 11


результат:

1 а с
1 а с

то есть находит то, что надо, только результат дублируется, а как правильно построить запрос, чтобы не было дублирующихся данных?
Di_LIne
Дата: 29.09.2005 12:38:35
Или у меня в мозгУ изян или видел этот цитат...
Geminis
Дата: 29.09.2005 12:39:14
Lora__k
Есть две таблицы:
table1
idx_t1    name    idx_t2
1          a        11
2          b        22 

и 
table2
idx_t2    name 
11         c
22         d
Пишу запрос:
select t1.idx_t1, t1.name, t2.name from table1 t1 join table 
         on t1.idx_t2 = t2.idx_t2 AND t1.idx_t2 = 11


результат:

1 а с
1 а с

то есть находит то, что надо, только результат дублируется, а как правильно построить запрос, чтобы не было дублирующихся данных?


Попробуй
select DISTINCT t1.idx_t1, t1.name, t2.name from table1 t1 join table 
         on t1.idx_t2 = t2.idx_t2 AND t1.idx_t2 = 11
Мимопроходящий
Дата: 29.09.2005 12:39:44

Привет, Lora__k!
Ты пишешь:

Lora__k
а как правильно построить запрос, чтобы не было дублирующихся данных?

Купи книжку М.Грабера по SQL и читай про distinct.

И вообще, пора бы уже начать читать.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.3

Lora__k
Дата: 29.09.2005 12:42:27
Geminis
Попробуй
select DISTINCT t1.idx_t1, t1.name, t2.name from table1 t1 join table 
         on t1.idx_t2 = t2.idx_t2 AND t1.idx_t2 = 11


Пробовала, не помогает, тоже самое...
Павел Ишенин
Дата: 29.09.2005 12:44:00
Гонишь, у меня одна получается
Павел Ишенин
Дата: 29.09.2005 12:47:20
Lora__k
Пробовала, не помогает, тоже самое...


Более того, твой первый не должен возвращать дублей, если ты привела полное содержимое твоих таблиц
Lora__k
Дата: 29.09.2005 12:48:32
Павел Ишенин
Гонишь, у меня одна получается

Точно!
Всем спасибо, прошу прощения :)
vado
Дата: 29.09.2005 12:53:44
Так попробовать? Не уверен, но должно работать

select t1.idx_t1, t1.name, t2.name from table1 t1 left join table
on t1.idx_t2 = t2.idx_t2
where t1.idx_t2 = 11
Мимопроходящий
Дата: 29.09.2005 13:00:40

Привет, vado!
Ты пишешь:

vado
v> Так попробовать? Не уверен, но должно работать

Не уверен - не свисти.
Разницу между [inner] join и left [outer] join понимаем?!

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.3