I could make a rutine in php to make it work but i want to make the
datagrabbing thing in mysql :(

----- Original Message -----
From: "Rick Emery" <[EMAIL PROTECTED]>
To: "'ACEAlex'" <[EMAIL PROTECTED]>
Sent: Wednesday, February 20, 2002 6:25 PM
Subject: RE: [PHP-DB] selecting question


>
> I'm still trying to work this.  There MUST be an easy answer...
> rick
>
> -----Original Message-----
> From: ACEAlex [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, February 20, 2002 9:30 AM
> To: Markus Lervik
> Cc: php-db
> Subject: Re: [PHP-DB] selecting question
>
>
> Ok. i think i have to make things clearer :).. Here, is my real mysql
thing.
> I and a friend are trying to make a silly space game and i have problems
> with this query.
> Ok, if i set up a database with this
>
> CREATE TABLE building_info (
>   id int(11) NOT NULL auto_increment,
>   name varchar(32) default NULL,
>   description text,
>   PRIMARY KEY  (id)
> ) TYPE=MyISAM;
> INSERT INTO building_info VALUES (1,'Factory','N/A');
> INSERT INTO building_info VALUES (2,'Smaltvark','N/A');
> INSERT INTO building_info VALUES (3,'Superfarm','N/A');
>
> CREATE TABLE buildings (
>   id int(11) NOT NULL auto_increment,
>   planet_id int(11) default NULL,
>   building_id int(11) default NULL,
>   PRIMARY KEY  (id)
> ) TYPE=MyISAM;
>
> INSERT INTO buildings VALUES (1,1,1);
> INSERT INTO buildings VALUES (2,2,1);
> INSERT INTO buildings VALUES (3,1,2);
> INSERT INTO buildings VALUES (4,6,1);
> INSERT INTO buildings VALUES (5,6,2);
>
> CREATE TABLE building_queue (
>   id int(11) NOT NULL auto_increment,
>   building_id int(11) default NULL,
>   planet_id int(11) default NULL,
>   PRIMARY KEY  (id)
> ) TYPE=MyISAM;
>
> INSERT INTO building_queue VALUES (35,2,2);
> INSERT INTO building_queue VALUES (22,2,7);
> INSERT INTO building_queue VALUES (23,1,3);
> INSERT INTO building_queue VALUES (25,1,5);
> INSERT INTO building_queue VALUES (24,1,5);
> INSERT INTO building_queue VALUES (26,2,5);
> INSERT INTO building_queue VALUES (21,1,7);
> INSERT INTO building_queue VALUES (28,1,4);
> INSERT INTO building_queue VALUES (31,3,3);
>
> where building_info is the description of the building. I have removed
some
> info from it by the way :).. And building_queue is the queue of building
> that is to be built that a planet has. And buildings is the buildings
> actually pressent.
>
> I have another option that says planet_id that specifys the current
planet.
>
> Ok, now i want to make a query that if i ask for planet_id=1 i will get
the
> building_info names of those buildings that are not in the queue and not
> actually built.I cant get this to work :(
>
> For example,. if you load in this data and asks for planet_id=1 you should
> get
> Superfarm
> planet_id=2 should get
> Superfarm
> planet_id=3 should get
> Smaltvark
>
> And so on :)
>
> Thanx again for responding
>
> /Alexander
>
> ----- Original Message -----
> From: "Markus Lervik" <[EMAIL PROTECTED]>
> To: "ACEAlex" <[EMAIL PROTECTED]>
> Cc: "php-db" <[EMAIL PROTECTED]>
> Sent: Wednesday, February 20, 2002 2:31 PM
> Subject: Re: [PHP-DB] selecting question
>
>
> > On Wed, 2002-02-20 at 15:03, ACEAlex wrote:
> >
> > > Hi i have trouble with this mysql query.
> > >
> > > OK, i have 3 different tables.
> > >
> > > Tabel 1: building_info
> > > id
> > > name
> > > price
> > > and other
> > > table 2:queue
> > > id
> > > building_id
> > > table 3:buildings_built
> > > building_id
> > >
> > > Ok, now i want to make a query that gets the data from building_info
> where
> > > it is not pressent in the queue and the buildings_built table.
> > >
> > > I have managed to get this to work with only 2 tables. So that i can
get
> the
> > > things that are not present in the building_queue or in the
> buildings_built
> > >
> > > Anyony have a nice solution for this?
> >
> > If I understood right, something like
> >
> > SELECT A.id,A.name,A.price
> > FROM building_info AS A, queue AS B, buildings_built AS C
> > WHERE (A.id != B.id AND B.building_id = C.building_id)
> >
> > should do it. I tested it on a simple db
> >
> > building_info("1","foo","200")
> > building_info("2","bar","200")
> >
> > queue("1","1")
> >
> > buildings_built("1")
> >
> > This is what I got:
> >
> > mysql> SELECT A.id,A.name,A.price FROM building_info AS A, queue AS B,
> > buildings_built AS C WHERE (A.id != B.id AND B.building_id =
> > C.building_id)\G
> > *************************** 1. row ***************************
> >    id: 2
> >  name: bar
> > price: 200
> > 1 row in set (0.00 sec)
> >
> > mysql>
> >
> >
> >
> > Cheers,
> > Markus
> >
> >
> > --
> > Markus Lervik
> > Linux-administrator with a kungfoo grip
> > Vaasa City Library - Regional Library
> > [EMAIL PROTECTED]
> > +358-6-325 3589 / +358-40-832 6709
> >
> >
> > --
> > PHP Database Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to