phpbar.de logo

Mailinglisten-Archive

Problem mit Kreuztabelle / JOIN

Problem mit Kreuztabelle / JOIN

Andre Krajnik andre at krajnik.de
Sam Jul 29 20:42:20 CEST 2006


Hi.

ich ben�tige Hilfe bei einer Kreuzabelle.

ICh m�chte eine Report erzeugen, welche Software auf bestimmten PCs
installiert ist. Daf�r soll f�r jede Software, die auf einem PC
isntalliert ist ein X gemacht werden. zudem am Zeilenende eine Summierung.
Die Summierung klappt auch, aber von den "X" kommt immer nur eines pro
Zeile. warum?

select s.Software,
if (t.PC = "anke", "X", "") AS Anke,
if (t.PC = "buchhaltung", "X", "") as Buchhaltung,
if (t.PC = "empfang", "X", "") as Empfang,
if (t.PC = "ernaehrung", "X", "") as Ernaehrung,
if (t.PC = "team", 1, "") as Team,
count(*) as Summe
from tsms t INNER join Software s using(swid) Group by Software;

mysql> describe tsms;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| PC       | varchar(12) | YES  |     | NULL    |       |
| Software | varchar(50) | YES  |     | NULL    |       |
| Version  | varchar(20) | YES  |     | NULL    |       |
| Size     | varchar(12) | YES  |     | NULL    |       |
| swid     | int(11)     |      |     | 0       |       |
+----------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

mysql> describe Software;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| Software | varchar(50) |      |     |         |       |
| swid     | int(11)     |      | PRI | 0       |       |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive