programing

SQL에서 매핑 값을 선택하시겠습니까?

lovejava 2023. 10. 16. 21:25

SQL에서 매핑 값을 선택하시겠습니까?

테이블이 있으니 간단히 부르자구요Plant, 3개의 열로:id,name,category.
이것은 가장 단순화된 예이므로 정규화에 대해 걱정하지 마십시오.

+-------+--------+------------+
| id    | name   | category   |
+-------+--------+------------+
| 1     | orange | fruits     |
| 2     | banana | fruits     |
| 3     | tomato | vegetables |
| 4     | kaokao | NULL       |
+-------+--------+------------+

다음을 반환하는 쿼리를 원할 경우

  • 'Fruit Plant' 대신에fruits'
  • 'Vegetable Plant' 대신에vegetables'
  • 'unknown' 대신에NULLs

따라서 반환은 다음과 같습니다.

+-------+--------+-----------------+
| id    | name   | category        |
+-------+--------+-----------------+
| 1     | orange | Fruit Plant     |
| 2     | banana | Fruit Plant     |
| 3     | tomato | Vegetable Plant |
| 4     | kaokao | unknown         |
+-------+--------+-----------------+

선택한 값에 대해 이 매핑을 수행하려면 어떻게 해야 합니까?

나는 mysql을 사용하고 있습니다. 만약 이것이 특별한 것을 가지고 있다면.IFmysql의 키워드/함수

사용가능case식:

select
    id,
    name,
    case 
        when category = 'fruits' then 'Fruit Plant'
        when category = 'vegetables' then 'Vegetable Plant'
        when category is null then 'unknown'
    end as category
from Plant

사용하다casefunction(기본값에 대한 다른 문 포함):

select id, name, 
case category
   when 'vegetables' then 'Vegetable Plant'
   when 'fruits' then 'Fruit Plant'
   when is null then 'unknown'
   else 'default values'
end
from Plant

언급URL : https://stackoverflow.com/questions/38567366/mapping-values-in-sql-select