Yah, saya harus mengakui bahwa saya butuh beberapa saat untuk memahami apa yang Anda tanyakan. Table2 memiliki 7 kolom s0 hingga s6 dan Anda ingin mendapatkan nilai dari kolom yang cocok dengan tanggal. Ya?
Jadi, tentu saja menggunakan
SELECT CURRENT_DATE(), s2
memberi Anda konten s2, sedangkan
SELECT CURRENT_DATE(), CONCAT('s',DAYOFWEEK(CURRENT_DATE())-1)
memberi Anda 's2'. Akan mengerikan jika tidak. Apakah Anda benar-benar mengharapkan DBMS untuk menghitung nilai dan kemudian memeriksa apakah nilai itu cocok dengan nama kolom? Kemudian
select name, job from person;
akan memilih nama dan pekerjaan orang tersebut dalam banyak kasus tetapi untuk orang yang bernama Job Anda akan mendapatkan pekerjaan itu dua kali. Anda melihat bahwa ini tidak dapat diinginkan, bukan?
Jadi periksa hasil ekspresi Anda dan baca dari kolom yang sesuai:
insert into table_1 (datum, comment)
select
current_date(),
case dayofweek(current_date()) - 1
when 0 then s0
when 1 then s1
when 2 then s2
when 3 then s3
when 4 then s4
when 5 then s5
when 6 then s6
end
from table_2 where id = 12345;