我有兩張桌子
英雄
id | 姓名 | universe_id |
---|---|---|
12 | 標記 | 1 |
99 | 穎片 | 1 |
宇宙
id | 姓名 |
---|---|
1 | 仙女座 |
2 | 極光 |
如何使用Universe name而不是universe_id回傳hero
表資料。抱歉,我沒有足夠的 sql 經驗來完成這個簡單的任務。我在SO中讀到了一些需要使用JOIN的答案。
我嘗試做這樣的事情。
exports.getHero = (req, res) => { const sql = "SELECT * FROM `hero` WHERE `id`='" + req.params.id + "' JOIN `universe` WHERE `id`=`universe_id` ON `hero.universe_id`=`universe.id`"; db.query(sql, (error, results) => { if (error) { console.log(error); } else { response.returnSingleValue(results, res); } }); };
但這行不通。
更新:
預期結果為:
[{ id: 12, name: Mark, universe_id: Andromeda }, { id: 99, name: Glume, universe_id: Andromeda }]
P粉4329068802024-04-01 15:30:34
您可以在id
值上將universe
連接到hero
,然後有意選擇您希望在輸出中看到的初始SELECT
子句中的欄位:
SELECT `hero`.`id`, `hero`.`name`, `universe`.`name` FROM `hero` JOIN `universe` ON `hero`.`universe_id` = `universe`.`id`