我有這樣使用表循環從SQL查詢
SparePart
+-------------+------------------------+--------+---------+
| sparePartID | name | price | modelID |
+-------------+------------------------+--------+---------+
| 12V | Preheat Start Relay | 1470 | WADR40E |
| 12V. | Instrument Assembly | 1290 | WADR40E |
| 12V.. | Motor Module(360) | 17810 | WADR40E |
| 40CC | HST Assembly | 264840 | WADR40E |
| 4L88 | Oil Filter Core | 1200 | WADR40E |
| 4L88. | Diesel oil Filter Core | 260 | WADR40E |
| 4SB1490 | Belt | 9930 | WADR40E |
| 50*2.65 | Axeal -O Ring | 80 | WADR40E |
| 60*85*10 | Oil seal | 1180 | WADR40E |
| 9J-5-1605 | Joint Belt | 8960 | WADR40E |
+-------------+------------------------+--------+---------+
和MainStock
+-------------+-----+------------+-------------+
| originalQty | qty | shipmentID | sparePartID |
+-------------+-----+------------+-------------+
| 20 | 20 | RnsttFOY | RT125-03001 |
| 10 | 10 | SHPMT78 | RT125-03001 |
| 8 | 8 | RH987ho | 12V |
| 0 | 0 | RH987ho | 4SB1490 |
+-------------+-----+------------+-------------+
於是我就用這樣的查詢計算所有股票的表來自所有貨物
SELECT SUM(`qty`) FROM MainStock WHERE sparePartID='RT125-03001';
我想從SparePart表中循環遍歷每個sparePartID並獲取表結果。我嘗試過這樣的事情。
SELECT SUM(`qty`)
-> FROM MainStock, SparePart
-> WHERE sparePartID=SparePart.sparePartID;
但我得到一個消息,說
ERROR 1052 (23000): Column 'sparePartID' in where clause is ambiguous
所以,我怎麼能做到這一點?
所需的結果集的樣本將有助於 – Lamak
你想列出了所有的sparePartID其給定的總和('數量')? – Moptan
你得到這條消息的原因是因爲你沒有告訴查詢*哪個*表'sparePartID'來自(將其更改爲'MainStock.SparePartID = SparePart.sparePartID')。但是這並不能幫助你達到預期的結果。你能告訴我們你期望結果集看起來像什麼嗎? – Siyual