Re: Basic SQL
- From: "John Gilson" <jag@xxxxxxx>
- Date: Thu, 14 Jul 2005 11:48:58 GMT
"Stefan Rybacki" <stefan.rybacki@xxxxxxx> wrote in message news:3jmqafFq20mvU1@xxxxxxxxxxxxxxxxx
> John Gilson wrote:
> > "Stefan Rybacki" <stefan.rybacki@xxxxxxx> wrote in message news:3jlhr8Fqd4cmU2@xxxxxxxxxxxxxxxxx
> >
> >>John Gilson wrote:
> >>
> >>>"MS" <mesemailoffers@xxxxxxxxxxx> wrote in message
> >>>news:1121280375.735695.277470@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> >>>
> >>>
> >>>>I am trying to write a sql statement that gives me the records that
> >>>>have multiple values for column b, but cannot figure it out - can
> >>>>someone help?
> >>>>
> >>>>My table is as follows:
> >>>>
> >>>>ID Value
> >>>>1234 S
> >>>>1234 S
> >>>>1234 X
> >>>>4444 S
> >>>>5555 X
> >>>>5555 Y
> >>>>
> >>>>I want to see what records have two distinct values for the "Value"
> >>>>column. The results of the query when running against the above data
> >>>>should be as follows:
> >>>>
> >>>>ID Value
> >>>>1234 S
> >>>>1234 X
> >>>>5555 Y
> >>>>5555 X
> >>>>
> >>>>Any help would be appreciated.
> >>>>
> >>>>Thanks!
> >>>
> >>>
> >>>SELECT ID, Value
> >>>FROM (SELECT DISTINCT id, value FROM T) AS T
> >>>WHERE EXISTS (SELECT * FROM T AS T1
> >>> WHERE T1.ID = T.ID AND
> >>> T1.Value <> T.Value)
> >>>
> >>>--
> >>>JAG
> >>>
> >>>
> >>
> >>Ui two subselects? :/ I even don't like the one I used in my solution ;)
> >>
> >>Regards
> >>Stefan
> >
> >
> > Given the original poster's stated input and required output, your query doesn't
> > do the trick.
> >
> > --
> > JAG
> >
> >
> Ok you're right, didn't recognize that the op wanted to get distinct values. But one
> subselect is still enough
>
> SELECT DISTINCT ID,VALUE FROM table2 T2 WHERE EXISTS (SELECT * FROM table2 WHERE ID=t2.ID
> AND VALUE<>T2.VALUE)
>
> Regards
> Stefan
Actually, my query uses a derived table (in the FROM clause) and a
subquery (in the WHERE clause). My query, conceptually, first gets
distinct values and then restricts while yours restricts on the full table
and then takes distinct values. Which is more efficient? Of course,
that depends on the particular DBMS. "You say potato and I say...".
--
JAG
.
- Follow-Ups:
- Re: Basic SQL
- From: Stefan Rybacki
- Re: Basic SQL
- From: Stefan Rybacki
- Re: Basic SQL
- References:
- Basic SQL
- From: MS
- Re: Basic SQL
- From: John Gilson
- Re: Basic SQL
- From: Stefan Rybacki
- Re: Basic SQL
- From: John Gilson
- Re: Basic SQL
- From: Stefan Rybacki
- Basic SQL
- Prev by Date: Re: The right database for the job?
- Next by Date: Re: Basic SQL
- Previous by thread: Re: Basic SQL
- Next by thread: Re: Basic SQL
- Index(es):
Relevant Pages
|