2010-08-24 48 views
0

我有一個需要改進的mysql代碼,因爲我的知識有限。我在PHP-mysql.I是新有數據數組在我的數據庫,我想顯示的數據包括:如何收集陣列數據?

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 

我已經使用此代碼嘗試,但結果並不像我想要的東西。

"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 

我該如何解決這個問題?

 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

你告訴我們你想要什麼,並且不工作的查詢 - 使它對我們沒用。我們需要看到現有的表結構開始按照你喜歡的方式進行按摩,假設所有可能的... – 2010-08-24 02:42:23

+0

我已經發布了我的表結構。 – klox 2010-08-24 02:53:32

回答

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