Форум: "Базы";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];
Внизsql Найти похожие ветки
← →
rosl (2003-10-02 06:51) [0]Уважаемые МАСТЕРА!!!
Помогите с запросом.
Есть три файла *.dbf Results.DBF(база), payers.DBF(справочник плательщиков), income.DBF(справочник кодов)
делаю запрос // выбрать записи соответствующие справочникам.
select distinct name, col005, col010, col008
from bd\Results.DBF, bd\payers.DBF, bd\income.DBF
where code_inc = col010 and col005 = inn
но теперь нужно сделать наоборот
выбрать записи НЕ соответствующие справочникам
что-то вроде
where code_inc <> col010 and col005 <> inn //но <> не подходит
← →
Warlock (2003-10-02 08:43) [1]where not(code_inc = col010) and not(col005 = inn)
или же
where not((code_inc = col010) and (col005 = inn))
← →
rosl (2003-10-03 03:18) [2]не получилось, из 135 записей отобралось больше 2000
← →
Плохиш_ (2003-10-03 03:23) [3]Для начала надо бы разобраться, что такое записи НЕ соответствующие справочникам
← →
Плохиш_ (2003-10-03 03:27) [4]>rosl (03.10.03 03:18) [2]
> не получилось, из 135 записей отобралось больше 2000
Хм, а ты ещё раз прочитай, что в запросе написал, подумай и поймёшь почему.
Если не поймёшь, то идёшь читать книжки по SQL. Хотя с этого стоило начать.
← →
rosl (2003-10-03 06:44) [5]Для начала надо бы разобраться, что такое записи НЕ соответствующие справочникам
в базе есть записи, которых нет в справочниках. например:
база
col005 col010
25000100 1010202
00000111 1010201
справочник плательщиков
inn name
25000100 петя
справочниек кодов
code_inc
1010202
вот и нужно из базы выбрать строку в таком виде:
col005 col010 inn name
25000100 1010202 25000100 петя
← →
ЮЮ (2003-10-03 07:51) [6]select distinct name, col005, col010, col008
from
Results
LEFT JOIN payers ON col005 = inn
LEFT JOIN income ON col010 = code_inc
Это запрос вернет ровно столько записей, сколько их в Results
Теперь отбираем:
1) те для которых нет записи в payers
WHERE (inn IS NULL)
2) те для которых нет записи в payers или income
WHERE (inn IS NULL) OR (code_inc IS NULL)
3) те для которых есть записи и в payers и в income
WHERE ТЩЕ (inn IS NULL) AND NOT (code_inc IS NULL)
4) и т.д.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c