OK, thanks again. -----Original Message----- From: Igor Tandetnik [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 20, 2007 10:56 AM To: SQLite Subject: [sqlite] Re: Re: Looking for equivalent syntax
Anderson, James H (IT) <Jim.Anderson-/PgpppG8B+R7qynMiXIxWgC/[EMAIL PROTECTED]> wrote: > In order to improve my understanding, I'd like to ask 2 questions re > the > sql, below. > > 1. what is the relationship between the "select * from where" within > the > "where exists" and the "select yadayadayada from where" within the > set? No direct relationship. However, the conditions in the two selects are designed to be similar enough, so that when EXISTS test succeeds by finding a suitable row, the select in SET would extract a field from that same row. > 2. why is it not necessary to include the "b.CDEvent=c.CDEvent" which > is > present in the "where exists" in the "where" within the set? Now that I think of it, it might be necessary to join to tmp_events in the SET clause after all. Suppse the data looks like this: select CDId from C1_credDerivEvent; 1 select CDId, CDEvent from C1_tmp_credDerivEvent; 1 10 1 20 select CDEvent from tmp_events; 20 Here a select that uses all three tables would produce 20. A select that omits tmp_events would produce two records with the values 10 and 20, from which SQLite would just pick the first one. This could be 10, giving a wrong answer. So to be on the safe side, make it update C1_credDerivEvent set CDEvent = CDEvent || ',' || (select b.CDEvent from C1_tmp_credDerivEvent b, tmp_events c where C1_credDerivEvent.CDId = b.CDId and b.CDEvent=c.CDEvent) where exists ( select * from C1_tmp_credDerivEvent b, tmp_events c where C1_credDerivEvent.CDId = b.CDId and b.CDEvent=c.CDEvent ) Igor Tandetnik ------------------------------------------------------------------------ ----- To unsubscribe, send email to [EMAIL PROTECTED] ------------------------------------------------------------------------ ----- -------------------------------------------------------- NOTICE: If received in error, please destroy and notify sender. Sender does not intend to waive confidentiality or privilege. Use of this email is prohibited when received in error. ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------