我在mySQL中有一个表Physicians,它包含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发布于 2014-12-04 15:19:03
好的,如果您不能修改任何东西,那么您可以尝试使用类似于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, ...) -> color2https://stackoverflow.com/questions/27297338
复制相似问题