dedlfix: Komplizierte Datenbankabfrage

Beitrag lesen

echo $begrüßung;

Ich möchte nun alle Zeilen aus der data_unit Tabelle holen,

Das wäre so:
  SELECT data\_unit.*
  FROM data\_unit

Das Ergebnis sollte dann ungefair so aussehen:
| type_id | name      | speed   |

kleine Plan-Änderung:
  SELECT data\_unit.type\_id , data\_unit.name , unit.speed
  FROM data\_unit, unit

wo die type_id in der unit Tabelle vorkommt.

Eine Bedingung kommt hinzu: WHERE data\_unit.type\_id = unit.type\_id

Außerdem muss die base_id = 3 sein

AND unit.base\_id =3

und die army_id = NULL.

AND unit.army\_id IS NULL

Hinzu kommt noch, dass ich den kleinsten Speed aus der unit Tabelle haben will, der diese type_id hat.

Dazu wird aus unit.speed in der SELECT-Klausel ein: MIN( unit.speed )
und eine Gruppierung kommt hinzu: GROUP BY type\_id , name

Das ergibt dann:

SELECT `data_unit`.`type_id` , `data_unit`.`name` , MIN( `unit`.`speed` )  
FROM `data_unit` , `unit`  
WHERE `data_unit`.`type_id` = `unit`.`type_id`  
AND `unit`.`base_id` =3  
AND `unit`.`army_id` IS NULL  
GROUP BY `type_id` , `name`  

Klingt wohl sehr kompliziert.

Ach nö, es gibt schlimmeres.

echo "$verabschiedung $name";