Thread SQL-Abfrage formulieren (17 answers)
Opened by MartinR at 2007-12-07 13:30

MartinR
 2007-12-17 19:22
#103986 #103986
User since
2004-06-17
305 Artikel
BenutzerIn
[default_avatar]
So hab's ich grad ausprobiert ...



CREATE TABLE `x_personal` (
`p_id` tinyint(4) NOT NULL auto_increment,
`name` varchar(50) NOT NULL default '',
PRIMARY KEY (`p_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;


INSERT INTO `x_personal` VALUES (1, 'Meier');
INSERT INTO `x_personal` VALUES (2, 'Mueller');
INSERT INTO `x_personal` VALUES (3, 'Huber');
INSERT INTO `x_personal` VALUES (4, 'Schmid');
INSERT INTO `x_personal` VALUES (5, 'Meister');


CREATE TABLE `x_zuordnung` (
`z_id` tinyint(4) NOT NULL auto_increment,
`p_id` tinyint(4) NOT NULL default '0',
`a_id` tinyint(4) NOT NULL default '0',
`datum` date NOT NULL default '0000-00-00',
PRIMARY KEY (`z_id`),
KEY `a_id` (`p_id`,`a_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;



INSERT INTO `x_zuordnung` VALUES (1, 1, 1, '2007-01-01');
INSERT INTO `x_zuordnung` VALUES (2, 1, 2, '2007-03-01');
INSERT INTO `x_zuordnung` VALUES (3, 1, 5, '2007-06-01');
INSERT INTO `x_zuordnung` VALUES (4, 1, 1, '2007-07-01');
INSERT INTO `x_zuordnung` VALUES (5, 2, 3, '2007-01-01');
INSERT INTO `x_zuordnung` VALUES (6, 3, 2, '2007-01-01');
INSERT INTO `x_zuordnung` VALUES (7, 3, 4, '2007-04-01');
INSERT INTO `x_zuordnung` VALUES (8, 4, 3, '2007-02-01');
INSERT INTO `x_zuordnung` VALUES (9, 4, 1, '2007-03-01');
INSERT INTO `x_zuordnung` VALUES (10, 5, 4, '2007-01-01');
INSERT INTO `x_zuordnung` VALUES (11, 2, 1, '2007-03-01');
INSERT INTO `x_zuordnung` VALUES (12, 2, 3, '2007-05-01');


CREATE TABLE `x_abteilung` (
`a_id` tinyint(4) NOT NULL auto_increment,
`abteilung` varchar(50) NOT NULL default '',
PRIMARY KEY (`a_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;


INSERT INTO `x_abteilung` VALUES (1, 'Verkauf');
INSERT INTO `x_abteilung` VALUES (2, 'Werbung');
INSERT INTO `x_abteilung` VALUES (3, 'Lager');
INSERT INTO `x_abteilung` VALUES (4, 'Leitung');
INSERT INTO `x_abteilung` VALUES (5, 'Buchhaltung');





SELECT DISTINCT
P.p_id,
P.name
FROM
x_personal AS P,
x_abteilung AS A,
x_zuordnung AS Z
WHERE
P.p_id = Z.p_id AND
A.a_id = Z.a_id AND
Z.datum <= '2007-04-10' AND
Z.a_id = 1
ORDER BY
P.p_id,
Z.datum DESC

View full thread SQL-Abfrage formulieren