cari

Rumah  >  Soal Jawab  >  teks badan

MySQL multi-ungkapan if pernyataan

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粉748218846P粉748218846463 hari yang lalu701

membalas semua(1)saya akan balas

  • P粉674876385

    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.

    balas
    0
  • Batalbalas