我在PHYSICIANS
中的表格mySQL
包含Physicians
的名称。
我想asign specific colors
给这些医生。
我想让这个动态,因为我将为多个数据库执行此操作,医生名称也不同,医生的数量也各不相同。
我不知道手动输入医生名称并为其指定颜色或代码下方的任何其他方式。 有没有人知道其他任何方式?
这些是我想要使用的颜色:
#FF0000,#800000,#FFFF00,#808000,#00FF00,#008000,#00FFFF,#008080,#0000FF,#000080,#FF00FF,#800080
SELECT PHYS_ID, color
from
(
Select PHYS_ID
From PHYSICIANS
Where PHYS_ID != 0
Order By PHYS_ID
) Physicians,
(
SELECT '#FF0000' as color
UNION
SELECT '#FFFF00'
UNION
SELECT '#808000'
UNION
SELECT '#00FF00'
UNION
SELECT '#008000'
UNION
SELECT '#00FFFF'
UNION
SELECT '#0000FF'
UNION
SELECT '#000080'
UNION
SELECT '#FF00FF'
UNION
SELECT '#800080'
FROM DUAL
) colors
答案 0 :(得分:1)
好的,如果您无法修改任何内容,那么您可以尝试使用ELT()
SELECT PHYS_ID, ELT(MOD(PHYS_ID, N)+1, '#color1', '#color2', ...., '#colorN')
^----------------------------------------^
基本上,取医生的身份证,以你拥有的颜色数量为模。例如适用于5种颜色:
id 3 mod 5 -> 3
id 30 mod 5 -> 0
id 31 mod 5 -> 1
ELT(3 + 1, ...) -> color4
ELT(0 + 1, ...) -> color1
ELT(1 + 1, ...) -> color2