Hi all
with Mysql 3.23 I would like to find missing values in the following situation:

1) table boxes: describes kind of boxes differing by how many items I can put 
in.

Primary key is BoxID

boxID +  Places
A     +   1
B     +   3
C     +   5

2) table car describes how I can put some boxes on a car for a journey

Primary Key is composed of TravelID, BoxNo 
BoxNo is auto_increment, and start at 1 for each new travel

TravelID + BoxID + BoxNo
   1     +   A   +  1
   1     +   A   +  2
   1     +   B   +  3
   2       +   A   +  1
   2     +   B   +  2
   2     +   C   +  3


3) table load describes how items can be placed in the boxes once a car has 
been monted with boxes

Primary Key is composed of TravelID, BoxNo, PlaceNo
PlaceNo is auto_increment, and start at 1 for each new Box beeing load (it's 
just here to make a primary key)

TravelID + BoxNo + PlaceNo + ItemName
    1    +   1   +   1     +   itemName1
    2    +   2   +   1     +   itemName2
    2    +   2   +   2     +   itemName3


I want to make a query to get how much free places there is for a given travel 
(ie how much places have been prepared in table car that are not occupied in 
table load)

I would like to get this kind of query working

select sum(PlaceNo)
from boxes
inner join car using (boxID)
inner join load using (TravelID)
left outer join load on car.BoxNo=load.BoxNo
Where load.TravelID=1 AND load.BoxNo is null

but this query does not work because I have a duplicate table name (load). 
Left join would be possible if BoxNo was unique for the whole table load, but 
is there a way to use left join here ?

This query works when there is one record in load for a given travel

select sum(PlaceNo)
from boxes
inner join car using (boxID)
where car.TravelID=1 AND car.BoxNo not in (select BoxNo 
        from load 
        where load.TravelID=1)

but when the subquery return null, the main query return null to when it should 
return the total of free places...
How could I correct this ?

Thanks in advance

François

François Rappaz

Centre de documentation de la Faculté des Sciences 
Université de Fribourg
DokPe - Dokumentationszentrum der Naturwissenschaftlichen Fakultät Universität 
Freiburg 
Pérolles CH-1700 Fribourg Switzerland
http://www.unifr.ch/dokpe/
Tel.: 41 (0)26 300 92 60 
Fax.: 41 (0)26 300 97 30

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to