2010-08-24 6 views
0

J'ai un code mysql qui doit être amélioré en raison de mes connaissances limitées. Je suis nouveau en php-mysql.I avoir des tableaux de données à mon DB et je veux montrer des données telles que:Comment collecter les données de la matrice?

Date    Model  Qty   Name 
2010-08-23  boo   2   Steve 
2010-08-24  boo   1   Steve 
2010-08-25  boo   2   David 
2010-08-25  blob   1   Steve 

J'ai essayé d'utiliser ce code, mais les résultats n'est pas comme ce que je voulais.

"SELECT id, DATE(A.Inspection_datetime) AS Date, 
        A.Model, COUNT(A.Serial_number) AS Qty, 
        B.name 
        FROM inspection_report AS A 
        LEFT JOIN Employee AS B 
        ON A.NIK=B.NIK 
        GROUP BY A.Model, B.name, A.Inspection_datetime" 
results: 
Date    Model  Qty   Name 
2010-08-23  boo   1   Steve 
2010-08-23  boo   1   Steve 
2010-08-24  boo   1   Steve 
2010-08-25  boo   1   David 
2010-08-25  boo   1   David 
2010-08-25  blob   1   Steve 

Comment faire pour résoudre ce problème?

 CREATE TABLE IF NOT EXISTS `inspection_report` (
      `id` int(11) NOT NULL AUTO_INCREMENT, 
      `Model` varchar(14) NOT NULL, 
      `Serial_number` varchar(8) NOT NULL, 
      `Lot_no` varchar(6) NOT NULL, 
      `Line` char(5) NOT NULL, 
      `Shift` char(1) NOT NULL, 
      `Inspection_datetime` datetime NOT NULL, 
      `Range_sampling` varchar(19) NOT NULL, 
      `NIK` int(5) NOT NULL, 
      `Class` char(1) NOT NULL, 
      `Status` varchar(6) NOT NULL, 
      PRIMARY KEY (`id`), 
      UNIQUE KEY `Model` (`Model`,`Serial_number`,`Lot_no`,`Line`) 
     ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=44 ; 

     CREATE TABLE IF NOT EXISTS `Employee` (
     `NIK` char(5) NOT NULL, 
     `name` varchar(50) NOT NULL, 
     PRIMARY KEY (`NIK`) 
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1; 
+0

Vous nous avez montré ce que vous voulez, et une requête qui ne fonctionne pas - ce qui rend inutile de nous. Nous devons voir la structure de table existante pour commencer à la masser dans ce que vous aimez, en supposant que possible ... –

+0

J'ai posté ma structure de table. – klox

Répondre

0
SELECT id, DATE(A.Inspection_datetime) AS Date, 
        A.Model, COUNT(A.Serial_number) AS Qty, 
        B.name 
        FROM inspection_report AS A 
        LEFT JOIN Employee AS B 
        ON A.NIK=B.NIK 
        GROUP BY Date,B.name 
0
 SELECT Date(i.Inspection_datetime) InspectionDate, 
      i.model, 
      e.name, 
      Count(*) Qty 
    FROM inspection_report i, Employee e 
    WHERE i.nik = e.nik 
    GROUP BY Date(i.Inspection_datetime), i.model, e.name 
Questions connexes