[prev in list] [next in list] [prev in thread] [next in thread]
List: mysql
Subject: Re: Problem searching in grouped rows
From: 84.129.248.53
Date: 2006-06-29 7:35:20
Message-ID: 20060629073328.26501.qmail () lists ! mysql ! com
[Download RAW message or body]
Brent Baisley schrieb:
> I'll give it a shot.
> First, select the people that got the first advertisement:
>
> SELECT c_id,aa_id
> FROM adverticelink
> WHERE aa_id=4
>
> From that result, you want to additionally filter out who didn't get
> the second advertisement. Since that information is contained in the
> same table, you want to do a self join. A self join will require you to
> use an alias name for the table, since you can't have two tables with
> the same name. We'll use a1 and a2 as the alias names.
> Additionally, you want to do a left join to retain all the records from
> your originally query. So you are actually joining the query of those
> who received the first ad, with those who received the second ad. Since
> you are doing a left join, those who didn't receive the second ad will
> not have a value for the aa_id field. It will be NULL.
>
> SELECT a1.c_id,a1.aa_id,a2.aa_id
> FROM adverticelink AS a1
> LEFT JOIN adverticelink AS a2 ON (a1.c_id=a2.c_id AND a2.aa_id=6)
> WHERE a1.aa_id=4 AND a2.aa_id IS NULL
>
> That should work in 3.23.
>
Yeah i know where you want to go to.
This looks really good, never thought about rejoining the table.
Thanks for that reply, it shed a light :)
Barry
--
Smileys rule (cX.x)C --o(^_^o)
Dance for me! ^(^_^)o (o^_^)o o(^_^)^ o(^_^o)
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=mysql@progressive-comp.com
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic