Gavin, Thanks for the great reply, this is actually what I was looking for. However, do you have any suggestions on how to order the fixtures / teams ? Basically the query is returning the teams grouped together like :
'2', '1' '3', '1' '4', '1' '1', '2' '3', '2' '4', '2' '1', '3' '2', '3' '4', '3' '1', '4' '2', '4' '3', '4' But ideally I'm looking for the data to be returned like 2 v 1 3 v 4 1 v 3 4 v 2 etc Any suggestions ? Cheers Neil On Thu, Aug 19, 2010 at 6:50 PM, Gavin Towey <gto...@ffn.com> wrote: > That's almost a cartesean product; except you just want to eliminate > results where a team would be paired up with itself. > > > create table teams ( id serial ); > Query OK, 0 rows affected (0.02 sec) > > > insert into teams values (), (), (), (); > Query OK, 4 rows affected (0.05 sec) > Records: 4 Duplicates: 0 Warnings: 0 > > [ff] test> select * from teams; > +----+ > | id | > +----+ > | 1 | > | 2 | > | 3 | > | 4 | > +----+ > 4 rows in set (0.00 sec) > > > select * from locations; > +------+ > | name | > +------+ > | home | > | away | > +------+ > 2 rows in set (0.00 sec) > > > > select * from teams t1 JOIN teams t2; > +----+----+ > | id | id | > +----+----+ > | 1 | 1 | > | 2 | 1 | > | 3 | 1 | > | 4 | 1 | > | 1 | 2 | > | 2 | 2 | > | 3 | 2 | > | 4 | 2 | > | 1 | 3 | > | 2 | 3 | > | 3 | 3 | > | 4 | 3 | > | 1 | 4 | > | 2 | 4 | > | 3 | 4 | > | 4 | 4 | > +----+----+ > 16 rows in set (0.00 sec) > > > With no join condition, we every possible combination of t1 paired with t2; > however, this leads to the undesireable result that we have combinations > like team 4 vs team 4. So you just need to add a condition to prevent those > rows from showing up: > > > select * from teams t1 JOIN teams t2 ON t1.id!=t2.id; > +----+----+ > | id | id | > +----+----+ > | 2 | 1 | > | 3 | 1 | > | 4 | 1 | > | 1 | 2 | > | 3 | 2 | > | 4 | 2 | > | 1 | 3 | > | 2 | 3 | > | 4 | 3 | > | 1 | 4 | > | 2 | 4 | > | 3 | 4 | > +----+----+ > 12 rows in set (0.10 sec) > > > Notice you get both combinations of 2 vs 1 and 1 vs 2, so you could just > call whichever team is in the first column as the "home team." > > > Regards, > Gavin Towey > > -----Original Message----- > From: Tompkins Neil [mailto:neil.tompk...@googlemail.com] > Sent: Thursday, August 19, 2010 10:07 AM > To: [MySQL] > Subject: Re: Fixture List generation using MySQL > > I'm looking at a routine / script to create the fixtures like > > team 1 vs team 2 > team 3 vs team 4 > team 5 vs team 6 etc > > > > > > > > > On Thu, Aug 19, 2010 at 3:44 PM, Peter Brawley < > > peter.braw...@earthlink.net> wrote: > > > >> > >> > >> I'm tasked with generating a list of fixtures from a table of teams, > >>> whereby > >>> each team plays each other home and away. Does anyone have any > >>> experience > >>> generating such information using MySQL ? > >>> > >> > >> Basically ... > >> > >> select a.id,b.id from tbl a join tbl b on a.id<b.id; > >> union > >> select a.id,b.id from tbl a join tbl b on a.id>b.id; > >> > >> PB > >> > >> ----- > >> > >> > >> On 8/19/2010 9:12 AM, Tompkins Neil wrote: > >> > >>> Hi, > >>> > >>> I'm tasked with generating a list of fixtures from a table of teams, > >>> whereby > >>> each team plays each other home and away. Does anyone have any > >>> experience > >>> generating such information using MySQL ? > >>> > >>> Thanks for any input. > >>> > >>> Regards > >>> Neil > >>> > >>> > > > > This message contains confidential information and is intended only for the > individual named. If you are not the named addressee, you are notified that > reviewing, disseminating, disclosing, copying or distributing this e-mail is > strictly prohibited. Please notify the sender immediately by e-mail if you > have received this e-mail by mistake and delete this e-mail from your > system. E-mail transmission cannot be guaranteed to be secure or error-free > as information could be intercepted, corrupted, lost, destroyed, arrive late > or incomplete, or contain viruses. The sender therefore does not accept > liability for any loss or damage caused by viruses or errors or omissions in > the contents of this message, which arise as a result of e-mail > transmission. [FriendFinder Networks, Inc., 220 Humbolt court, Sunnyvale, CA > 94089, USA, FriendFinder.com >