Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mendapatkan nama data jadual hubungan dan bukannya id

Saya ada dua meja

Wira

id Nama universe_id
12 Tag 1
99 Kepingan gluten 1

Alam Semesta

id Nama
1 Andromeda
2 Aurora

Cara menggunakan universe name dan bukannya universe_id untuk mengembalikan hero data jadual. Maaf, saya tidak mempunyai pengalaman sql yang mencukupi untuk menyelesaikan tugas mudah ini. Saya membaca beberapa jawapan dalam SO yang memerlukan penggunaan JOIN.

Saya cuba buat macam ni.

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

Tetapi ini tidak berkesan.

Kemas kini:

Hasil yang diharapkan ialah:

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

P粉276064178P粉276064178184 hari yang lalu296

membalas semua(2)saya akan balas

  • P粉432906880

    P粉4329068802024-04-01 15:30:34

    Medan yang boleh anda gunakan dalam klausa id 值上将 universe 联接到 hero ,然后有意选择您希望在输出中看到的初始 SELECT:

    SELECT `hero`.`id`, `hero`.`name`, `universe`.`name`
    FROM `hero`
    JOIN `universe` ON `hero`.`universe_id` = `universe`.`id`

    balas
    0
  • P粉521697419

    P粉5216974192024-04-01 14:50:41

    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";

    balas
    0
  • Batalbalas