Mehrere Tabellen auslesen

mkoeni1

Erfahrenes Mitglied
Hallo Leute,

ich habe hier ein Problem und brauche Eure Hilfe.
Ich habe mehrere Tabellen:
PHP:
CREATE TABLE `saison_tore_0304` (
  `id` int(4) NOT NULL auto_increment,
  `spieltag_id_fk` int(4) NOT NULL default '0',
  `scorer_id_fk` int(4) NOT NULL default '0',
  `minute` char(3) collate latin1_general_ci NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci COMMENT='alle Tore in der Saison 03/04' AUTO_INCREMENT=14 ;

PHP:
CREATE TABLE `saison_tore_0405` (
  `id` int(4) NOT NULL auto_increment,
  `spieltag_id_fk` int(4) NOT NULL default '0',
  `scorer_id_fk` int(4) NOT NULL default '0',
  `minute` char(3) collate latin1_general_ci NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci COMMENT='alle Tore in der Saison 04/05' AUTO_INCREMENT=14 ;

PHP:
CREATE TABLE `saison_tore_0506` (
  `id` int(4) NOT NULL auto_increment,
  `spieltag_id_fk` int(4) NOT NULL default '0',
  `scorer_id_fk` int(4) NOT NULL default '0',
  `minute` char(3) collate latin1_general_ci NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci COMMENT='alle Tore in der Saison 05/06' AUTO_INCREMENT=14 ;

In diesen Tabellen habe ich Spalte wie:
Code:
INSERT INTO `saison_tore_0304` (`id`, `spieltag_id_fk`, `scorer_id_fk`, `minute`) VALUES 
(1, 1, 31, '28'),

Code:
INSERT INTO `saison_tore_0405` (`id`, `spieltag_id_fk`, `scorer_id_fk`, `minute`) VALUES 
(1, 1, 31, '28'),

Code:
INSERT INTO `saison_tore_0506` (`id`, `spieltag_id_fk`, `scorer_id_fk`, `minute`) VALUES 
(1, 1, 31, '28'),

Wie kann ich es erreichen, dass ich eine Anfrage hinbekomme die mir den Torschützen mit der id liefert der 3 Tore gemacht hat, sprich über alle Saisons zählen.

Ich dachte mit dem SELECT:
PHP:
SELECT COUNT( * ) AS repititions, `scorer_id_fk`
FROM `saison_tore_0708`
GROUP BY `scorer_id_fk`
UNION
SELECT COUNT( * ) AS repititions, `scorer_id_fk`
FROM `saison_tore_0607`
GROUP BY `scorer_id_fk`
UNION
SELECT COUNT( * ) AS repititions, `scorer_id_fk`
FROM `saison_tore_0506`
GROUP BY `scorer_id_fk`
UNION
SELECT COUNT( * ) AS repititions, `scorer_id_fk`
FROM `saison_tore_0405`
GROUP BY `scorer_id_fk`
HAVING repititions > 1 ORDER BY repititions DESC

doch dieser SELECT zählt nur alle Treffer auf ohne diese zu addieren :-(

wäre ich schon soweit, habe mich aber getäuscht. Kann mir bitte jemand helfen?

Vielen Dank und Gruß
Matze
 

Neue Beiträge

Zurück