Rumah > Soal Jawab > teks badan
Saya mahu melaksanakan berbilang ungkapan dalam select
语句中的if
pernyataan seperti ini:
SELECT t.id, IF ( id > 10, @var1 := t.id; @var2 := t.title, t.title ) FROM table
Adakah ada cara untuk melakukannya dalam satu if
语句中执行这两个表达式@var1 := t.id; @var2 := t.title
?
P粉6748763852023-09-20 09:12:51
Anda boleh melakukan ini
SELECT t.id, IF ( id > 10, CONCAT(@var1 := t.id , @var2 := t.title), t.title ) FROM table1 t; SELECT @var2; SELECT @var1;
Tetapi pembolehubah yang ditakrifkan pengguna ialah nilai skalar, jadi anda hanya boleh mendapatkan nilai terakhir di mana @var1 dan @var2 dipilih, tetapi ia tidak akan menunjukkan nilai yang digabungkan sekarang.
Jadi secara keseluruhan, ini tidak benar-benar masuk akal jika anda mempunyai berbilang baris data.