select
lower(name) name,
max(case when Type='Breakfast' then value end)"Breakfast",
max(case when Type='Lunch'and name='Lisi' then 'null' when Type='Lunch' then value end)"Lunch",
max(case when Type='Dinner' then value end)"Dinner"
from cs
group by name
题里写的null,只是为了告诉你这里是空,不是想让你在这里显示null的字符串,因为这里不填点什么东西的话,可能和空格或者TAB符有歧义