LINUX.ORG.RU

Сравнить таблицу и выборку

 ,


0

1

Сделал выборку в одном запросе по условиям из одной таблицы и из других. Теперь пытаюсь найти повторяющиеся строки в этой таблице сравнив выборку с самой таблицей. Допустим количество столбцов много в таблице T1, я считаю что одинаковые строки это те строки в которых столбцы A,B,C,D равны делаю так

select A,B,C,D, E,count(A) from T1 where (A,B,C,D) in 
(select A,B,C,D from T1 where not exists
(select * from T2 where T1.id = T2.f_id)) group by A,B,C,D,E having count(A)=1;
И мне выдает почему-то одинаковые строки по критериям A,B,C,D - другие столбцы могут быть незаполненными или отличаться. В чем проблема?

Ответ на: комментарий от mrjaggers

Мне надо взять из всей таблицы T1 найти такие строки s1 единственные для которых нет другой строки s2 где s1.A=s2.A,s1.B=s2.B,s1.C=s2.C,s1.D=s2.D равны, но у меня еще есть столбец E который мешает, но нужен для выборки

bad_master
() автор топика
Последнее исправление: bad_master (всего исправлений: 1)
Ответ на: комментарий от bad_master

значит ты криво ставишь задачу, хотя судя по всему, тривиальная.

рисуй тогда наборы данных, как я за тебя сделал и всё остальное.

mrjaggers
()
Последнее исправление: mrjaggers (всего исправлений: 1)
Ответ на: комментарий от mrjaggers

ну когда я из запроса в самом начале вопроса данного топика убрал отовсюду из запроса столбец E, стало работать как надо, но мне нужен как-то столбец E заселектить

bad_master
() автор топика