Re: SQL meaning

  • From: "Jared Still" <jkstill@xxxxxxxxx>
  • To: ax.mount@xxxxxxxxx
  • Date: Tue, 28 Oct 2008 09:29:02 -0700

On Tue, Oct 28, 2008 at 8:48 AM, amonte <ax.mount@xxxxxxxxx> wrote:

> So the query cannot be wriiten as follows?
> SELECT   userobj.ID, NAME, summary
>     FROM userobj
>    WHERE userobj.NAME LIKE 'A%'
>      *AND attr1 IN ('#ID#TOP')*
>      AND userobj.ID IN (
>             SELECT ID
>               FROM userattr
>              WHERE ( attr1 IN (
>                           SELECT ID
>                             FROM orgattr
>                            WHERE orgattr.attrname =
> 'CONTAINEDBYOBJECTGROUP'
>                              AND attrval IN ('#ID#TOP'))
>                    ))
> ORDER BY userobj.ID
>
>
Whether or not that works is dependent on the data.

The original query included "where attr1 IN ('#ID#TOP') OR ...".

The modified query cannot return the same results unless all
occurrences of "attrval = '#ID#TOP'" also have
"attrname = 'CONTAINEDBYOBJECTGROUP'"

You really need to know the data, and whether or not that condition is
enforced
if it exists.

Have you tried running the query?

Jared

Other related posts: