Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.23;
Скачать: CL | DM;

Вниз

Нужен SQL запрос   Найти похожие ветки 

 
ak75 ©   (2003-01-04 13:05) [0]

Не могу построить запрос, помогите.
Есть таблицы Tbl1 и Tbl2 с полями Id и Name.
Условия такие:
1. все записи из Tbl1 если Tbl1.Id <> Tbl2.Id
2. все записи из Tbl2 если Tbl1.Id <> Tbl2.Id
3. Одинаковые Id в двух таблицах, но без повторов.


 
Johnmen ©   (2003-01-04 13:20) [1]

1.
SELECT * FROM Tbl1
LEFT JOIN Tbl2 ON Tbl1.Id = Tbl2.Id
WHERE Tbl2.Id IS NULL


 
Max Zyuzin ©   (2003-01-04 13:24) [2]

1.
select * from tbl1
where tbl1.id not in (select tbl2.id from tbl2)
2. поменять местами tbl
3.
select distinct tbl1.* from tbl1, tbl2
where Tbl1.Id = Tbl2.Id


 
Delirium^.Tremens ©   (2003-01-04 13:25) [3]

Johnmen © (04.01.03 13:20)
1. все записи из Tbl1 если Tbl1.Id <> Tbl2.Id


 
Johnmen ©   (2003-01-04 13:39) [4]

>Delirium^.Tremens © (04.01.03 13:25)

Не понял...Это к чему ?


 
Delirium^.Tremens ©   (2003-01-04 13:55) [5]

Johnmen © (04.01.03 13:39)
> Не понял...Это к чему ?

К тому, что по условию запрос должен вернуть те записи, где они(ID) не равны


 
Johnmen ©   (2003-01-04 13:58) [6]

>Delirium^.Tremens © (04.01.03 13:55)

Так и будет :)))))))))))))))


 
Delirium^.Tremens ©   (2003-01-04 14:02) [7]

Johnmen © (04.01.03 13:58)
> Так и будет :)))))))))))))))

Если так и будет на LocalSQL, то я в жизни за него не возьмусь. По моему разумению, в нормальной базе, твой запрос вернет пустышку :-)


 
Johnmen ©   (2003-01-04 14:10) [8]

>Delirium^.Tremens © (04.01.03 14:02)

Просто предлагаю тебе попробовать :) на LocalSQL.
Запрос верен на 100%, не зависимо от БД...:)


 
Delirium^.Tremens ©   (2003-01-04 14:23) [9]

Johnmen © (04.01.03 14:10)
> Просто предлагаю тебе попробовать :) на LocalSQL.
> Запрос верен на 100%, не зависимо от БД...:)

Бред какой-то, но так и есть. Более того, если взять NOT NULL, то вернет пересекающиеся ID


 
Delirium^.Tremens ©   (2003-01-04 14:24) [10]


> Более того, если взять NOT NULL, то вернет пересекающиеся
> ID

P.S. Хотя это-то как раз и понятно


 
Johnmen ©   (2003-01-04 14:34) [11]

>Delirium^.Tremens © (04.01.03 14:23)
>Бред какой-то...

Никакого бреда !
Если понимать смысл левого соединения...:)


 
passm ©   (2003-01-04 14:55) [12]

Результат видется как все ID (FROM TBL1 & TBL2), но без повторов. Иными словами - объединение множеств.
SELECT TBL1.ID
FROM TBL1
UNION ALL
SELECT TBL2.ID
FROM TBL2
WHERE TBL2.ID NOT IN (SELECT TBL1.ID FROM TBL1)


 
Johnmen ©   (2003-01-04 15:00) [13]

>passm © (04.01.03 14:55)

Тогда уж :
SELECT TBL1.ID
FROM TBL1
UNION
SELECT TBL2.ID
FROM TBL2


 
passm ©   (2003-01-04 15:07) [14]

Johnmen © (04.01.03 15:00)> Да, либо просто UNION.



Страницы: 1 вся ветка

Текущий архив: 2003.01.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
7-72562
OK
2002-11-11 18:02
2003.01.23
Как узнать список аппаратных IRQ.


4-72607
Abzetdin
2002-12-07 13:10
2003.01.23
Программное определение типа процессора


1-72246
TTCustomDelphiMaster
2003-01-13 20:14
2003.01.23
Excel NumberFormat


6-72439
Taljan
2002-11-19 14:17
2003.01.23
NMHTTP !!!


14-72537
Карлсон
2003-01-07 22:46
2003.01.23
заставки для сотового.