2016-11-27 35 views
1
SELECT 
    DISPLAY_ID, 
    PICKER_NAME, 
    CREDIT, 
    HOURLY_RATE, 
    DAILY_RATE, 
    WEIGHT, 
    CASE 
     WHEN (DeviceGroups IS NOT NULL AND WorkerGroups IS NOT NULL) THEN CONCAT(DeviceGroups,',',WorkerGroups); 
     WHEN (DeviceGroups IS NULL AND WorkerGroups IS NOT NULL) THEN WorkerGroups; 
     WHEN (DeviceGroups IS NOT NULL AND WorkerGroups IS NULL) THEN DeviceGroups; 
     WHEN (DeviceGroups IS NULL AND WorkerGroups NOT NULL) THEN NULL; 
    END as GROUPS 
FROM.... 

我尝试使用情况当语法与作为alians,我得到这个错误:mysql的有条件的情况下,当作为列犯规编译

SQL查询:文档

SELECT DISPLAY_ID, PICKER_NAME,信贷,HOURLY_RATE,DAILY_RATE,重量, CASE WHEN(

DeviceGroups IS NOT NULL 和WorkerGroups不为NULL ) THEN CONCAT(DeviceGroups,',',WorkerGroups);

MySQL表示:文件

1064 - 你在你的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的'第9行

回答

2

删除分号正确的语法手册:

SELECT 
    DISPLAY_ID, 
    PICKER_NAME, 
    CREDIT, 
    HOURLY_RATE, 
    DAILY_RATE, 
    WEIGHT, 
    CASE 
     WHEN (DeviceGroups IS NOT NULL AND WorkerGroups IS NOT NULL) THEN CONCAT(DeviceGroups,',',WorkerGroups) 
     WHEN (DeviceGroups IS NULL AND WorkerGroups IS NOT NULL) THEN WorkerGroups 
     WHEN (DeviceGroups IS NOT NULL AND WorkerGroups IS NULL) THEN DeviceGroups 
     WHEN (DeviceGroups IS NULL AND WorkerGroups IS NULL) THEN NULL 
    END as GROUPS 
FROM.... 

在标准SQL中,分号(;)来结束查询。

+0

作品,谢谢! –

相关问题