3字段MySQL查询


3 Field MySQL Query

我现在有一个有3个字段的表

Device1, Device 2 and Device3

我的最终目标是显示每一个信息,如果有一个设备位于它们

我喜欢什么

如果Device 1为空>显示'您当前没有设备。点击这里添加一个"如果设备1已满>检查设备2

"

如果设备2为空>输出设备1

如果设备2已满,请检查设备3

如果设备3为空>输出设备1 + 2

如果设备3已满>输出设备1 + 2 + 3

基本上数据库将最终工作的方式,当我得到周围做一个脚本来添加设备-前一个设备必须是满的,以添加另一个,所以他们总是在顺序。

我不太确定从哪里开始,我想不出另一种方式来描述检查的逻辑,所以如果它让人困惑,请道歉

SELECT CASE WHEN Device1 = '' OR Device1 IS NULL
            THEN 'You currently have no devices. Click here to add one'
            WHEN Device2 = '' OR Device2 IS NULL
            THEN Device1
            WHEN Device3 = '' OR Device3 IS NULL
            THEN CONCAT(Device1,' + ',Device2)
            ELSE CONCAT(Device1,' + ',Device2,' + ',Device3)
       END AS output
     , Device1
     , Device2
     , Device3
  FROM mytable