So erhalten Sie den Namen der relationalen Tabellendaten anstelle der ID
P粉276064178
P粉276064178 2024-03-31 20:48:12
0
2
419

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

Update:

Das erwartete Ergebnis ist:

[{
  id: 12, 
  name: Mark,
  universe_id: Andromeda
},
{
  id: 99, 
  name: Glume,
  universe_id: Andromeda
}]

P粉276064178
P粉276064178

Antworte allen(2)
P粉432906880

您可以在 id 值上将 universe 联接到 hero ,然后有意选择您希望在输出中看到的初始 SELECT 子句中的字段:

SELECT `hero`.`id`, `hero`.`name`, `universe`.`name`
FROM `hero`
JOIN `universe` ON `hero`.`universe_id` = `universe`.`id`
P粉521697419
const sql = "SELECT h.id, h.name, u.name as universe_id FROM `hero` as h LEFT JOIN `universe` as u ON h.universe_id=u.id";
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage