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

Reply via email to