Bagaimana untuk mendapatkan nama data jadual hubungan dan bukannya id
P粉276064178
P粉276064178 2024-03-31 20:48:12
0
2
428

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粉276064178
P粉276064178

membalas semua(2)
P粉432906880

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`
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";
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan