我是这样写的SQL
SELECT a.goods_name, SUM(b.quantity) AS '1号', SUM(c.quantity) AS '2号', SUM(d.quantity)
AS '3号', SUM(e.quantity) AS '4号', SUM(f.quantity) AS '5号', SUM(g.quantity) AS '6号',
SUM(h.quantity) AS '7号', SUM(i.quantity) AS '8号', SUM(j.quantity) AS '9号',
SUM(k.quantity) AS '10号', SUM(l.quantity) AS '11号', SUM(m.quantity) AS '12号',
SUM(n.quantity) AS '13号', SUM(o.quantity) AS '14号', SUM(p.quantity) AS '15号',
SUM(q.quantity) AS '16号', SUM(r.quantity) AS '17号', SUM(s.quantity) AS '18号',
SUM(t.quantity) AS '19号', SUM(u.quantity) AS '20号', SUM(v.quantity) AS '21号',
SUM(w.quantity) AS '22号', SUM(x.quantity) AS '23号', SUM(y.quantity) AS '24号',
SUM(z.quantity) AS '25号', SUM(z1.quantity) AS '26号', SUM(z2.quantity) AS '27号',
SUM(z3.quantity) AS '28号', SUM(z4.quantity) AS '29号', SUM(z5.quantity) AS '30号',
SUM(z6.quantity) AS '31号'
FROM VDish a LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 1) b ON
a.goods_name = b.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 2) c ON
a.goods_name = c.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 3) d ON
a.goods_name = d.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 4) e ON
a.goods_name = e.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 5) f ON a.goods_name = f.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 6) g ON
a.goods_name = g.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 7) h ON
a.goods_name = h.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 8) i ON a.goods_name = i.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 9) j ON a.goods_name = j.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 10) k ON
a.goods_name = k.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 11) l ON
a.goods_name = l.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 12) m ON
a.goods_name = m.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 13) n ON
a.goods_name = n.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 14) o ON
a.goods_name = o.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 15) p ON
a.goods_name = p.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 16) q ON
a.goods_name = q.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 17) r ON
a.goods_name = r.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 18) s ON
a.goods_name = s.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 19) t ON
a.goods_name = t.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 20) u ON
a.goods_name = u.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 21) v ON
a.goods_name = v.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 22) w ON
a.goods_name = w.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 23) x ON
a.goods_name = x.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 24) y ON
a.goods_name = y.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 25) z ON
a.goods_name = z.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 26) z1 ON
a.goods_name = z1.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 27) z2 ON
a.goods_name = z2.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 28) z3 ON
a.goods_name = z3.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 29) z4 ON
a.goods_name = z4.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 30) z5 ON
a.goods_name = z5.goods_name LEFT OUTER JOIN
(SELECT goods_name, quantity
FROM vdish
WHERE day(bill_date) = 31) z6 ON a.goods_name = z6.goods_name
WHERE (a.bill_date >= '2003-02-01') AND (a.bill_date <= '2003-02-03')
GROUP BY a.goods_name
可是我看不哪里有问题呀,哪里都超时,真的没有办法!