Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 20:53 12.07.25 
Клубове/ Компютри и Интернет / Delphi Пълен преглед*
Информация за клуба
Тема Re: какъв по-елегантен начин има [re: kalinkina]
Автор Formal (незнаещ)
Публикувано14.02.08 14:58  



Нещо пак не разбрах, ето един експеримент:


create table __at1 (id int, f1 int, f2 int)
create table __at2 (id int, f1 int, f2 int)
insert into __at1 values (1, 1, 1)
insert into __at1 values (2, 1, 2)
insert into __at1 values (3, 1, 3)
insert into __at1 values (4, 2, 1)
insert into __at1 values (5, 2, 2)
insert into __at1 values (6, 2, 3)
insert into __at1 values (7, 3, 1)
insert into __at1 values (8, 3, 2)
insert into __at1 values (9, 3, 3)

insert into __at2 values (11, 1, 1)
insert into __at2 values (12, 1, 2)
insert into __at2 values (13, 1, 4)
insert into __at2 values (14, 2, 1)
insert into __at2 values (15, 2, 2)
insert into __at2 values (16, 2, 4)
insert into __at2 values (17, 4, 1)
insert into __at2 values (18, 4, 2)
insert into __at2 values (19, 4, 4)

select __at1.id, __at1.f1, __at1.f2
from __at1
left join __at2 on (__at1.f1 = __at2.f1 and __at1.f2 = __at2.f2)
where __at2.f1 is null and __at2.f2 is null

Има дублиращи се по f1, по f2, както и по двете.
Резултатът, както може да се очаква, е:

id f1 f2
----------- ----------- -----------
3 1 3
6 2 3
7 3 1
8 3 2
9 3 3

(5 row(s) affected)

Сега, ако изпълня същата заявка, но със сменено условие:

select __at1.id, __at1.f1, __at1.f2
from __at1
left join __at2 on (__at1.f1 = __at2.f1 and __at1.f2 = __at2.f2)
where __at2.f1 is null and __at2.f2 is not null

Резултатът, както може да се очаква, е:

id f1 f2
----------- ----------- -----------

(0 row(s) affected)

Не съм много сигурен как може да се получи резултат във втория случай.

Но както и да е, щом проблема е вече решен...

Редактирано от Formal на 14.02.08 15:00.



Цялата тема
ТемаАвторПубликувано
* InsertSQL kalinkina   31.01.08 15:53
. * Re: InsertSQL vido   02.02.08 06:45
. * какъв по-елегантен начин има kaлиkинa   12.02.08 12:20
. * Re: какъв по-елегантен начин има vido   12.02.08 20:54
. * Re: какъв по-елегантен начин има kalinkina   13.02.08 11:46
. * Re: какъв по-елегантен начин има Formal   13.02.08 17:16
. * Re: какъв по-елегантен начин има kalinkina   13.02.08 21:06
. * Re: какъв по-елегантен начин има Formal   14.02.08 14:58
. * НАМЕРИХ РЕШЕНИЕТО kalinkina   14.02.08 10:34
. * Re: InsertSQL kalinkina   04.02.08 12:54
. * Re: InsertSQL kalinkina   14.02.08 16:57
. * Re: InsertSQL Formal   16.02.08 12:26
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.