我有加入小問題。我有4張桌子。多個內部聯接與哪裏條款 - 4表
as_ticmat TBL加盟as_mat TBL這樣我就可以得到名來自列as_mat TBL同樣的事情
as_sertic TBL加盟as_ser TBL但只有一個條件。這是從as_ticmat TBL的tic_id柱必須等於1,以及從as_sertic TBL的tic_id柱必須等於1
這裏是我的表
mysql> TBL: as_ticmat;
+--------------+---------+---------+-----------+
| ticmat_id | mat_id | tic_id | matprice |
+--------------+---------+---------+-----------+
| 1 | 1 | 1 | 20.00 |
| 2 | 2 | 1 | 30.00 |
| 3 | 3 | 4 | 640.00 |
| 4 | 4 | 4 | 500.00 |
+--------------+---------+---------+-----------+
mysql> TBL: as_mat;
+-----------+-------------------+
| mat_id | name |
+-----------+-------------------+
| 1 | XXXX - XXXXX - XX |
| 2 | XXXX - XXXXX - XX |
| 3 | XXXX - XXXXX - XX |
| 4 | XXXX - XXXXX - XX |
+-----------+-------------------+
mysql> TBL: as_sertic;
+--------------+---------+---------+---------+---------+
| sertic_id | tic_id | ser_id | mec_id | rate |
+--------------+---------+---------+---------+---------+
| 1 | 1 | 2 | 4 | 500.00 |
| 2 | 1 | 3 | 4 | 1000.00 |
| 3 | 4 | 4 | 4 | 420.00 |
| 4 | 4 | 5 | 4 | 420.00 |
+--------------+---------+---------+---------+---------+
mysql> TBL: as_ser;
+------------+----------+--------+
| ser_id | name | price |
+------------+----------+--------+
| 1 | XXX XXXX | 50.00 |
| 2 | XXX XXXX | 50.00 |
| 3 | XXX XXXX | 250.00 |
| 4 | XXX XXXX | 210.00 |
| 5 | XXX XXXX | 210.00 |
+------------+----------+--------+
這是我的查詢。
SELECT `as_ticmat`.`tickmat_id`,
`as_ticmat`.`mate_id`,
`as_ticmat`.`mateprice`,
`as_sertic`.`sertic_id`,
`as_sertic`.`ser_id`,
SUM (as_tictmat.matprice`) AS `mat`
SUM (as_sertic.rate) AS `ser`
FROM `as_ticmat`
INNER JOIN `as_sertic`
ON `as_sertic`.`ser_id` = `as_ser`.`ser_id`
INNER JOIN `as_mate`
ON `as_ticmat`.`mat_id` = `as_mat`.`mat_id`
WHERE `tic_id` = 1
你說你有一個小問題,但我沒有看到任何問題? – jpw 2015-02-08 17:42:14
對不起,忘了提我的問題。有sql錯誤..我只是不能完成 – 2015-02-08 17:44:54
這個查詢是否需要一個'group by'子句?還是滿足於一行結果? – 2015-02-08 17:56:57