php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.02.2007, 20:33  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von Zergling
Post mal die Tabellen-Struktur als SQL-Dump, das will ich mal antesten
Code:
CREATE TABLE `spiel` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `spieltag` tinyint(3) unsigned NOT NULL default '0',
  `heimverein_id` int(10) unsigned NOT NULL default '0',
  `gastverein_id` int(10) unsigned NOT NULL default '0',
  `heimtore` tinyint(3) unsigned NOT NULL default '0',
  `gasttore` tinyint(3) unsigned NOT NULL default '0',
  `liga_id` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`id`)
);

CREATE TABLE `verein` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `liga_id` int(10) unsigned NOT NULL default '0',
  `name` varchar(100) collate latin1_general_ci NOT NULL default '',
  PRIMARY KEY  (`id`)
);

Query:
SELECT
   v.name, v.id,
   SUM(IF(v.id=plan.heimverein_id, plan.heimtore, plan.gasttore)) as tore,
   SUM(IF(v.id=plan.heimverein_id, plan.gasttore, plan.heimtore)) as gegentore,
   SUM(IF(v.id=plan.heimverein_id, plan.heimtore, plan.gasttore))-SUM(IF(v.id=plan.heimverein_id, plan.gasttore, plan.heimtore)) AS diff,
   SUM(
   IF(plan.gastverein_id=v.id, IF(plan.gasttore>plan.heimtore, 3, IF(plan.gasttore=plan.heimtore, 1, 0)), IF(plan.heimtore>plan.gasttore, 3, IF(plan.gasttore=plan.heimtore, 1, 0)))) as punkte,
   SUM(IF(plan.heimverein_id=v.id, IF(plan.heimtore>plan.gasttore, 1, 0), IF(plan.gasttore>plan.heimtore, 1, 0))) as S,
   SUM(IF(plan.heimverein_id=v.id, IF(plan.heimtore<plan.gasttore, 1, 0), IF(plan.gasttore<plan.heimtore, 1, 0))) as N,
   SUM(IF(plan.heimtore=plan.gasttore, 1, 0)) as U
FROM
   spiel plan
JOIN
   verein v
ON
   plan.gastverein_id=v.id OR plan.heimverein_id=v.id
WHERE v.liga_id=1 AND plan.spieltag <=30
GROUP BY name, id
ORDER BY punkte DESC, diff DESC, tore DESC
Enthält wahrsch. noch ein paar Redundanzen bzw. ist nicht richtig normalisiert - kommt daher, weil ich es einfach kurz aus einem kleinen Projekt von mir gebastelt hab.

Hier ein paar Testdaten (willkürliche Tabelle, soll keine Präferenzen für Wolfsburg ausdrücken :
Zitat:

INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (1, 1, 'Bayern');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (2, 1, 'Werder');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (3, 1, 'HSV');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (4, 1, 'Schalke');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (5, 1, 'Leverkusen');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (6, 1, 'Hertha');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (7, 1, 'Dortmund');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (8, 1, 'Nürnberg');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (9, 1, 'VfB');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (10, 1, 'Mönchengladbach');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (11, 1, 'Mainz');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (12, 1, 'Hannover 96');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (13, 1, 'Bielefeld');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (14, 1, 'Frankfurt');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (15, 1, 'Wolfsburg');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (16, 1, 'Bochum');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (17, 1, 'Aachen');
INSERT INTO `verein` (`id`, `liga_id`, `name`) VALUES (18, 1, 'Cottbus');



INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (1, 1, 1, 7, 1, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (2, 1, 4, 14, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (3, 1, 9, 8, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (4, 1, 3, 13, 0, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (5, 1, 5, 17, 1, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (6, 1, 11, 16, 3, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (7, 1, 10, 18, 1, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (8, 1, 12, 2, 1, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (9, 1, 15, 6, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (10, 2, 8, 10, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (11, 2, 18, 3, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (12, 2, 17, 4, 1, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (13, 2, 14, 15, 2, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (14, 2, 7, 11, 1, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (15, 2, 6, 12, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (16, 2, 2, 5, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (17, 2, 16, 1, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (18, 2, 9, 13, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (19, 3, 4, 2, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (20, 3, 16, 18, 1, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (21, 3, 12, 17, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (22, 3, 10, 13, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (23, 3, 9, 7, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (24, 3, 5, 15, 2, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (25, 3, 1, 8, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (26, 3, 11, 14, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (27, 3, 6, 3, 3, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (28, 4, 15, 12, 4, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (29, 4, 17, 10, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (30, 4, 18, 11, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (31, 4, 8, 16, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (32, 4, 2, 9, 1, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (33, 4, 13, 1, 3, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (34, 4, 7, 3, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (35, 4, 14, 5, 3, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (36, 4, 6, 4, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (37, 5, 16, 13, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (38, 5, 18, 8, 0, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (39, 5, 1, 17, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (40, 5, 3, 2, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (41, 5, 4, 15, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (42, 5, 9, 14, 3, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (43, 5, 11, 6, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (44, 5, 12, 5, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (45, 5, 10, 7, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (46, 6, 7, 12, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (47, 6, 17, 16, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (48, 6, 15, 1, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (49, 6, 14, 3, 3, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (50, 6, 13, 18, 2, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (51, 6, 8, 11, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (52, 6, 2, 10, 2, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (53, 6, 6, 9, 3, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (54, 6, 5, 4, 1, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (118, 7, 11, 17, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (119, 7, 16, 2, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (120, 7, 12, 14, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (121, 7, 10, 15, 2, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (122, 7, 9, 5, 3, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (123, 7, 3, 4, 1, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (124, 7, 1, 6, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (125, 7, 18, 7, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (126, 7, 8, 13, 2, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (127, 8, 17, 18, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (128, 8, 15, 9, 3, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (129, 8, 14, 8, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (130, 8, 13, 11, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (131, 8, 7, 16, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (132, 8, 6, 10, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (133, 8, 5, 3, 3, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (134, 8, 4, 12, 3, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (135, 8, 2, 1, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (136, 9, 18, 6, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (137, 9, 16, 15, 0, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (138, 9, 13, 17, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (139, 9, 11, 2, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (140, 9, 10, 5, 2, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (141, 9, 9, 4, 3, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (142, 9, 8, 7, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (143, 9, 3, 12, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (144, 9, 1, 14, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (145, 10, 17, 9, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (146, 10, 15, 3, 2, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (147, 10, 14, 10, 3, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (148, 10, 12, 16, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (149, 10, 7, 13, 3, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (150, 10, 6, 8, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (151, 10, 5, 11, 1, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (152, 10, 4, 1, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (153, 10, 2, 18, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (154, 11, 18, 14, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (155, 11, 16, 5, 0, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (156, 11, 13, 6, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (157, 11, 11, 15, 2, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (158, 11, 10, 4, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (159, 11, 9, 3, 3, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (160, 11, 8, 2, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (161, 11, 7, 17, 3, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (162, 11, 1, 12, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (163, 12, 17, 8, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (164, 12, 15, 18, 3, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (165, 12, 14, 13, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (166, 12, 12, 9, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (167, 12, 6, 16, 1, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (168, 12, 5, 1, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (169, 12, 4, 11, 3, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (170, 12, 3, 10, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (171, 12, 2, 7, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (172, 13, 18, 4, 1, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (173, 13, 17, 2, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (174, 13, 16, 14, 1, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (175, 13, 13, 15, 2, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (176, 13, 11, 3, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (177, 13, 10, 12, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (178, 13, 8, 5, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (179, 13, 7, 6, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (180, 13, 1, 9, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (181, 14, 15, 8, 0, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (182, 14, 14, 7, 0, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (183, 14, 12, 11, 0, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (184, 14, 9, 10, 0, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (185, 14, 6, 17, 0, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (186, 14, 5, 18, 0, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (187, 14, 4, 16, 0, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (188, 14, 3, 1, 0, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (189, 14, 2, 13, 0, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (190, 15, 18, 12, 0, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (191, 15, 17, 14, 1, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (192, 15, 16, 3, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (193, 15, 13, 5, 1, 0, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (194, 15, 11, 9, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (195, 15, 8, 4, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (196, 15, 7, 15, 0, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (197, 15, 2, 6, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (198, 15, 1, 10, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (199, 16, 15, 17, 3, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (200, 16, 14, 2, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (201, 16, 12, 13, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (202, 16, 10, 11, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (203, 16, 9, 16, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (204, 16, 5, 6, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (205, 16, 4, 7, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (206, 16, 3, 8, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (207, 16, 1, 18, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (208, 17, 18, 9, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (209, 17, 17, 3, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (210, 17, 16, 10, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (211, 17, 13, 4, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (212, 17, 11, 1, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (213, 17, 8, 12, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (214, 17, 7, 5, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (215, 17, 6, 14, 3, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (216, 17, 2, 15, 2, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (405, 20, 8, 1, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (404, 20, 6, 3, 1, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (403, 20, 2, 4, 2, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (402, 20, 15, 5, 2, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (401, 20, 7, 9, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (400, 20, 13, 10, 3, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (399, 20, 14, 11, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (398, 20, 17, 12, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (397, 20, 18, 16, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (369, 19, 5, 2, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (368, 19, 12, 6, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (367, 19, 11, 7, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (366, 19, 10, 8, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (365, 19, 9, 13, 2, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (364, 19, 15, 14, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (363, 19, 1, 16, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (362, 19, 4, 17, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (361, 19, 3, 18, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (333, 18, 7, 1, 2, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (332, 18, 13, 3, 3, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (331, 18, 14, 4, 1, 3, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (330, 18, 17, 5, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (329, 18, 8, 9, 2, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (328, 18, 18, 10, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (327, 18, 16, 11, 1, 2, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (326, 18, 2, 12, 1, 1, 1);
INSERT INTO `spiel` (`id`, `spieltag`, `heimverein_id`, `gastverein_id`, `heimtore`, `gasttore`, `liga_id`) VALUES (325, 18, 6, 15, 2, 2, 1);
__________________
Today you...Tomorrow me.
agrajag ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.02.2007, 08:41  
Erfahrener Benutzer
 
Registriert seit: 08.08.2005
Beiträge: 272
madSoul
Standard

@ Agrajag: Sorry, bin erst gestern Abend zum testen gekommen...

Nach dem Anpassen der Felder auf meine Tabellen bekomme ich nichts ausgegeben !? mysql_num_rows = 0 ??

@ Zergling: Hat das bei Dir so funktioniert ?

LG
__________________
it´s not a bug - it´s a feature...
madSoul ist offline  
Alt 13.02.2007, 09:17  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

@Agrajag: Sehr schön, hätte ich nicht gedacht Aber glaubst du wirklich, dass Wolfsburg Meister wird? :P

@maSoul: Ja hier klappts. Wenn du keine Ergebniszeilen hast, ist die WHERE-Bedingung zu scharf.
Zergling-new ist offline  
Alt 13.02.2007, 14:11  
Erfahrener Benutzer
 
Registriert seit: 08.08.2005
Beiträge: 272
madSoul
Standard

@ Agrajag & Zergling: Hoffe ich darf euch nochmals belästigen...

Da ich ja ein absoluter Fußball-Muffel bin durfte ich jetzt erst erfahren dass es auch sowas wie Strafpunkte gibt... !? Dies müsste ich in der Tabelle noch berücksichtigen, oder ?

Dachte dabei an eine extra Tabelle mit den werten liga_id | verein_id | saison | punkte
wobei darin dann folgende daten stehen 5 | 27 | 2006/2007 | -3
Die Tabelle hab ich auch schon angelegt, aber mit dem Mörder SQL (!) bekomm ich diesen Zusatz einfach nicht abgefragt...

Ich bedank mich schon mal im voraus !

LG
__________________
it´s not a bug - it´s a feature...
madSoul ist offline  
Alt 13.02.2007, 14:51  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

es ist ja gar kein Mörder SQL es ist nur so lang weil halt viele Daten eingetragen werden. Ne weitere Tabelle wirst du ja wohl hinbekommen. zeig wenigstens deine Versuche.
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 15.02.2007, 10:52  
Erfahrener Benutzer
 
Registriert seit: 08.08.2005
Beiträge: 272
madSoul
Standard

Also, nachdem ich mich jetzt 3 Tage mit dem Versuch die Sonderlösung einzubauen rumgeärgert habe bräucht ich doch noch mal nen kleinen Schubs in die richtige Richtung...

Also, ich hab jetzt ne Tabelle:
PHP-Code:
CREATE TABLE `tbl_sonderfaelle` (
  `
idint(10unsigned NOT NULL auto_increment,
  `
saisonvarchar(9NOT NULL default '',
  `
ligaint(10unsigned NOT NULL default '0',
  `
vereinint(10unsigned NOT NULL default '0',
  `
punktechar(2NOT NULL default '',
  `
grundtext NOT NULL,
  
PRIMARY KEY  (`id`)
TYPE=MyISAM COMMENT='sonderfaelle' AUTO_INCREMENT=
Die SQL-Abfrage habe ich in eine Funktion eingebaut in die Liga, Runde und Saison übergeben werden. beim Aufruf der Funktion frage ich dann die Sonderfälle ab:

PHP-Code:
    $sql "SELECT verein,punkte FROM sp_sonderfaelle WHERE saison='$saison'
        AND liga = '$liga' LIMIT 1"
;
    
$res mysql_query($sql);
    if(
mysql_num_rows($res) == 1) list($vid,$punkte_abzug) = mysql_fetch_row($res); 
Danach wollt ich das folgendermaßen einbauen
poste hier nur die entsprechende zeile - rest steht ja oben

PHP-Code:
SUM(
IF(
plan.gast=v.id, IF(plan.tore_gast>plan.tore_heim3, IF(plan.tore_gast=plan.tore_heim10)), IF(plan.tore_heim plan.tore_gast3, IF(plan.tore_gast=plan.tore_heim10)))), IF(v.id '$vid'punkte '$punkte_abzug',0) as punkte
Funktioniert nur leider nicht !?

Als Alternative hatte ich es auch so gemacht dass ich bei der Ausgabe dann prüfe ob die Vereins-ID bei den Sonderfällen dabei ist, und wenn ja ziehe ich die Punkte dort dann ab. Das klappt, aber die Platzierung des vereins stimmt nicht mehr !?

Hoffe Ihr habt nen Tipp für mich !?

Vielen Dank schonmal

Edit: auch wenn ich meine IF() Abfrage modifiziere klappt´s nicht !?
PHP-Code:
-SUM(IF(v.id '$vid','$punk',0)) 
madSoul ist offline  
Alt 15.02.2007, 14:23  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

was heist für dich klappt nicht?
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 15.02.2007, 14:35  
Erfahrener Benutzer
 
Registriert seit: 08.08.2005
Beiträge: 272
madSoul
Standard

@ dsmcg: Damit mein ich das ALLE(?) Daten durcheinander kommen...

1. Reihung nach Punkten funktioniert nicht mehr
2. Manche Vereine haben z.B. -1050 Punkte
3. Die Punkte bei dem Verein der eigentlich einen Abzug hat werden nicht abgezogen
4. Je nachdem wo ich das eingebaut habe kam auch ne SQL Fehlermeldung dass die Syntax nicht stimmt...

Ich hab es jetzt (über Umwege) gelöst - wobei Ihr euch dabei wahrscheinlich an den Kopf greifen werden...

Nach der Abfrage (s.o.) speichere ich mir die Daten in ein Array, ziehe bei dem betroffenen Verein die 3 Punkte ab und sortiere das Array mit usort() nochmals nach Punkten. Das ganze gebe ich dann mit array_reverse aus.

Passt jetzt zwar, aber dennoch find ich´s Schade dass ich es nicht im SQL Statement unterbringen konnte

Edit: inzwischen dämmert mir dass ich von "punkte" im SQL nichts abziehen kann wenn es noch nicht vorhanden ist... oder doch ??
madSoul ist offline  
Alt 15.02.2007, 15:00  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Was du da oben mit deinem Code versuchst kann so nicht gehn. Ich hab`s jetzt nurz kurz überflogen:
Du ziehst für Vereine die einen Punktabzug bekommen damit an JEDEM Spieltag die Punkte ab.


Es gibt eine Möglichkeit das ganze wieder mit nur einem SQL-Query zu erschlagen. Ich weiß aber wirklch nicht, ob sowas der Weisheit letzter Schluss ist. Das wird verdammt unübersichtlich, ist nicht auf den ersten Blick einleuchtend und später wahrscheinlich schwer zu ändern.

Trotzdem - weils Spaß macht :


Du musst die Strafpunkte nicht nur einem Verein zuordnen sondern zusätzlich auch noch einem Spieltag:
Bei mir würde das so aussehen:

Zusätzliche Tabelle Strafpunkte (nur das nötigste): punkte, verein_id, spieltag
Jetzt kannst du zusätzlich auf diese Tabelle einen JOIN ausführen (strafpunkte.spieltag=spielplan.spieltag Und verein_id übereinstimmend). Da wo dieser JOIN einen Partner findet ziehst du die Punkte ab:

SQL:
Code:
SELECT v.name, v.id,
SUM(IF(v.id=plan.heimverein_id, plan.heimtore, plan.gasttore)) as tore, 
SUM(IF(v.id=plan.heimverein_id, plan.gasttore, plan.heimtore)) as gegentore, 
SUM(IF(v.id=plan.heimverein_id, plan.heimtore, plan.gasttore))-SUM(IF(v.id=plan.heimverein_id, plan.gasttore, plan.heimtore)) AS diff, 
SUM(IF(plan.gastverein_id=v.id, IF(plan.gasttore>plan.heimtore, 3, IF(plan.gasttore=plan.heimtore, 1, 0)), IF(plan.heimtore>plan.gasttore, 3, IF(plan.gasttore=plan.heimtore, 1, 0))) - IF(s.spieltag IS NULL, 0, s.punkte)) as punkte,

SUM(IF(plan.heimverein_id=v.id, IF(plan.heimtore>plan.gasttore, 1, 0), IF(plan.gasttore>plan.heimtore, 1, 0))) as S,
SUM(IF(plan.heimverein_id=v.id, IF(plan.heimtore<plan.gasttore, 1, 0), IF(plan.gasttore<plan.heimtore, 1, 0))) as N,
SUM(IF(plan.heimtore=plan.gasttore, 1, 0)) as U

FROM spiel plan
JOIN verein v ON plan.gastverein_id=v.id OR plan.heimverein_id=v.id
LEFT JOIN strafpunkte s ON v.id=s.verein_id AND s.spieltag = plan.spieltag
WHERE v.liga_id=1 AND plan.spieltag <=34
GROUP BY name, id
ORDER BY punkte DESC, diff DESC, tore DESC

Alternativ könnte man das bestimmt auch irgendwie über Subselects machen.

Wie gesagt: Ich glaube nicht unbedingt, dass das so die beste Lösung ist
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 15.02.2007, 15:13  
Erfahrener Benutzer
 
Registriert seit: 08.08.2005
Beiträge: 272
madSoul
Standard

@Agrajag: Also wie Du sowas zusammenbringst ist mir echt ein Rätsel...
Ich versuch bereits seit 2 Tagen Deine IF() Geschichten zu verstehen !? aber ohne Erfolg - oder nur ein bisschen... Die SQL Doku ist meiner Meinung nach für Vollprofis geschrieben...

Auf alle Fälle bedank ich mich ganz herzlich !!!

Ist auf ALLE FÄLLE besser als meine array-sortier-und-dann-andersrum-ausgeb Sache!

LG
__________________
it´s not a bug - it´s a feature...
madSoul ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
19% MwSt errechnen Diego1978 PHP Tipps 2008 1 04.07.2008 00:26
Platzierung errechnen simsalabim Datenbanken 4 13.03.2008 11:07
Alter über das angegebene Datum errechnen PTC PHP-Fortgeschrittene 6 11.11.2007 01:27
Kalenderwoche errechnen? PHP Tipps 2006 3 16.01.2006 13:03
[Erledigt] Gewinn errechnen HTML, Usability und Barrierefreiheit 2 30.12.2005 01:22
Image String breite errechnen! md5hash PHP Tipps 2007 21 23.11.2005 18:21
Summe errechnen PHP Tipps 2005-2 13 02.08.2005 04:44
alter eines benutzers errechnen... PHP Tipps 2004-2 2 12.12.2004 22:56
Wochentag und die KW errechnen HSFighter PHP Tipps 2004 2 13.10.2004 22:14
Werte bleiben nach dem errechnen nicht stehen . PHP Tipps 2004 3 15.09.2004 09:01
[Erledigt] Errechnen von Koordinaten PHP-Fortgeschrittene 11 27.08.2004 15:05
[Erledigt] Wahrscheinlichkeit errechnen mittels PHP(!) Off-Topic Diskussionen 10 16.07.2004 09:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
fussballtabelle koordinaten rätsel

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.