У меня есть две таблицы, связанные 2 полями. Некоторые строки из первой таблицы связаны со второй таблицей, некоторые - нет. Как выбрать те, которые не связаны со второй таблицей? Я смоделировал ситуацию.
create table MainTbl(qno int, idno int, cat int);
create table SubTbl(newno int, idno1 int);
insert into maintbl values(1001, 88, 1);
insert into maintbl values(1002,88,1);
insert into subtbl values(11001, 88);
insert into subtbl values(11002,99);
insert into subtbl values(11003,88);
select * from maintbl,subtbl where (((cat*10000)+qno)=newno) and (idno=idno1);
select * from maintbl
left join subtbl on
(((cat*10000)+qno)<>newno) and (idno=idno1)
drop table maintbl;
drop table subtbl;
Первый оператор select должен выбрать все связанные строки, которые мне уже удалось.
Второе утверждение состоит в том, чтобы выбрать все строки, которые не связаны .. которые я все еще пытаюсь выяснить.
newno
из subtbl
связано с (cat*10000)+qno
из maintbl
idno1
из subtbl
связан с idno
из maintbl