下面这个语句是联机丛书复制的:
SELECT au_fname, au_lname, 
   CASE state
      WHEN 'CA' THEN 'California'
      WHEN 'KS' THEN 'Kansas'
      WHEN 'TN' THEN 'Tennessee'
      WHEN 'OR' THEN 'Oregon'
      WHEN 'MI' THEN 'Michigan'
      WHEN 'IN' THEN 'Indiana'
      WHEN 'MD' THEN 'Maryland'
      WHEN 'UT' THEN 'Utah'
        END AS StateName
FROM pubs.dbo.authors
ORDER BY au_lname
现在我要把WHEN 'KS' 时,THEN 'California'。
除了下面这中写法,还有没有把'CA','KS' 合并的写法?
SELECT au_fname, au_lname, 
   CASE state
      WHEN 'CA' THEN 'California' --
      WHEN 'KS' THEN 'California' --
      WHEN 'TN' THEN 'Tennessee'
      WHEN 'OR' THEN 'Oregon'
      WHEN 'MI' THEN 'Michigan'
      WHEN 'IN' THEN 'Indiana'
      WHEN 'MD' THEN 'Maryland'
      WHEN 'UT' THEN 'Utah'
        END AS StateName
FROM pubs.dbo.authors
ORDER BY au_lname

解决方案 »

  1.   

    case when state in('ca','ks') then 'xxx'
      

  2.   

    SELECT au_fname, au_lname, 
       CASE state
          WHEN 'CA' OR 'KS' THEN 'California' --
          
          WHEN 'TN' THEN 'Tennessee'
          WHEN 'OR' THEN 'Oregon'
          WHEN 'MI' THEN 'Michigan'
          WHEN 'IN' THEN 'Indiana'
          WHEN 'MD' THEN 'Maryland'
          WHEN 'UT' THEN 'Utah'
            END AS StateName
    FROM pubs.dbo.authors
    ORDER BY au_lname
      

  3.   

    SELECT au_fname, au_lname, 
       CASE state
          WHEN in('CA','KS') THEN 'California' --
          WHEN 'TN' THEN 'Tennessee'
          WHEN 'OR' THEN 'Oregon'
          WHEN 'MI' THEN 'Michigan'
          WHEN 'IN' THEN 'Indiana'
          WHEN 'MD' THEN 'Maryland'
          WHEN 'UT' THEN 'Utah'
            END AS StateName
    FROM pubs.dbo.authors
    ORDER BY au_lname\
    TRY
      

  4.   

    case when state='KS' then 'California'
         when ......end
      

  5.   

    SELECT au_fname, au_lname, 
       CASE 
          WHEN state='CA' OR state='KS' THEN 'California' --
          
          WHEN state='TN' THEN 'Tennessee'
          WHEN state='OR' THEN 'Oregon'
          WHEN state='MI' THEN 'Michigan'
          WHEN state='IN' THEN 'Indiana'
          WHEN state='MD' THEN 'Maryland'
          WHEN state='UT' THEN 'Utah'
            END AS StateName
    FROM pubs.dbo.authors
    ORDER BY au_lname
      

  6.   

    SELECT au_fname, au_lname, 
     CASE WHEN  state in('CA','KS') THEN 'California'
          WHEN state='TN' THEN 'Tennessee'
          WHEN state='OR' THEN 'Oregon'
          WHEN state='MI' THEN 'Michigan'
          WHEN state='IN' THEN 'Indiana'
          WHEN state='MD' THEN 'Maryland'
          WHEN state='UT' THEN 'Utah'
            END AS StateName
    FROM pubs.dbo.authors
    ORDER BY au_lname