You are here: Re: DELETE ... NOT query does not delete all that I expected « MsSQL Server « IT news, forums, messages
Re: DELETE ... NOT query does not delete all that I expected

Posted by jefftyzzer on 01/24/08 02:16

On Jan 23, 10:57 am, metaperl <metap...@gmail.com> wrote:
> Originally I had a temporary table with about a million rows. Now I
> have some questions about the row counts returned from some queries:
>
> SELECT * FROM #details WHERE originator = 'J' and beneficiary = 'V';
> -- the above yields 17 rows
>
> DELETE FROM #details WHERE NOT(originator = 'J' AND beneficiary =
> 'V');
> -- theoretically, should only leave 17 rows in table
>
> SELECT * FROM #details ORDER BY aml_rec_id;
> -- unfortunately, yields more than 300,00 rows... but only 17 should
> be there
>
> I am pretty sure if my delete had been this:
> DELETE FROM #details WHERE id NOT IN
> (SELECT id FROM #details WHERE originator = 'J' and beneficiary =
> 'V')
>
> that it would have deleted what I wanted, but I dont understand why my
> original DELETE statement failed to do what I wanted.


Not to in any way detract from Plamen's edifying answer, but it
sounded like you wanted to delete the rows that had double-NULLs as
well, so perhaps you'd need

DELETE FROM #details WHERE NOT(originator = 'J' AND beneficiary = 'V')
OR (originator IS NULL AND beneficiary IS NULL)

--Jeff

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация