Форум: "Базы";
Текущий архив: 2002.09.12;
Скачать: [xml.tar.bz2];
ВнизSQL запросик Найти похожие ветки
← →
AndbyOne (2002-08-22 10:19) [0]Есть 2 таблицы:
PERS: и PERSLOG:
BKEY SDATETIME
RKEY BKEY
PKEY RKEY
PKEY
Мне надо отобрать те записи из PERS, которых нет в PERSLOG, т.е. те PERS.BKEY которых нет в PERSLOG.BKEY;
Я делаю, так:
SELECT
DISTINCT PERS.*
FROM
PERSLOG,
PERS
WHERE PERS.BRIGADEKEY != PERSLOG.BRIGADEKEY
ORDER BY PERS.BRIGADEKEY
и он отбирает все записи, вообще все. ЧТо делать?
← →
SaS13 (2002-08-22 10:23) [1]SELECT DISTINCT *
FROM PERS
WHERE BRIGADEKEY NOT IN (SELECT BRIGADEKEY FROM PERSLOG)
ORDER BY BRIGADEKEY
← →
Desdechado (2002-08-22 10:29) [2]учить матчасть!
У тебя для каждой записи из PERS выбираются все записи из PERSLOG, у которых ключ не совпал. Потом применяется DISTINCT, т.е. получается по одной такой записи. Итог - все записи из PERSLOG
select P.* from Pers P
where not exists( SELECT L.sdatetime FROM Perslog L
WHERE L.bkey = P.bkey)
или ХП
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.09.12;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c