Ich habe zwei Tische
Held
id | Name | universe_id |
---|---|---|
12 | Tag | 1 |
99 | Glutenscheiben | 1 |
Universum
id | Name |
---|---|
1 | Andromeda |
2 | Aurora |
So verwenden Sie den Universe-Namen anstelle von Universe-ID, um Tabellendaten zurückzugeben. Leider verfüge ich nicht über genügend SQL-Erfahrung, um diese einfache Aufgabe zu bewältigen. Ich habe in SO einige Antworten gelesen, die die Verwendung von JOIN erfordern.
Ich versuche so etwas zu machen.
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);
}
});
};
Aber das funktioniert nicht. hero
Das erwartete Ergebnis ist:
[{ id: 12, name: Mark, universe_id: Andromeda }, { id: 99, name: Glume, universe_id: Andromeda }]
您可以在
id
值上将universe
联接到hero
,然后有意选择您希望在输出中看到的初始SELECT
子句中的字段: