Comment obtenir le nom des données d'une table relationnelle au lieu de l'identifiant
P粉276064178
P粉276064178 2024-03-31 20:48:12
0
2
408

J'ai deux tables

Héros

id Nom universe_id
12 Étiquette 1
99 Tranches de gluten 1

Univers

id Nom
1 Andromède
2 Aurora

Comment utiliser l'univers name au lieu de universe_id pour renvoyer hero les données de la table. Désolé, je n'ai pas suffisamment d'expérience SQL pour accomplir cette tâche simple. J'ai lu quelques réponses dans SO qui nécessitent l'utilisation de JOIN.

J'essaie de faire quelque chose comme ça.

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);
        }
    });
};

Mais ça ne marche pas.

Mise à jour :

Le résultat attendu est :

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

P粉276064178
P粉276064178

répondre à tous(2)
P粉432906880

Champs que vous pouvez utiliser dans la clause 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";
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal