对包含空格的列使用select语句

时间:2018-08-02 14:36:19

标签: mysql sql request

我有2张桌子:

第一张桌子Suivi [![在此处输入图片描述] [1]] [1]

第二张表OGRAF [![在此处输入图片描述] [2]] [2]

随着状态或服务的更改,我想更新表Suivi上的RAFHJ值。 OGRAF表代表每种组合的RAFHJ。

例如:表Suivi我有977个项目处于MFW的第4个状态,因此根据OGRAF表,RAFHJ应该为5,这样就很好了。现在,如果状态更改为5-安装/配置,RAFHJ应该变为4,仍然根据OGRAF表。

目前,我只是在尝试获得所需的价值。 事实是列名称中有空格,所以我无法执行这种请求:

Select (Select Status from Suivi where idProject=1) 
from OGRAF, Suivi 
WHERE Suivi.Service=OGRAF.Service and Suivi.idProject=1; 

如果我这样做,它将起作用:

Select `8 - Tests` 
from OGRAF, Suivi 
WHERE Suivi.Service=OGRAF.Service and Suivi.idProject=1;

已经花了几个小时来解决这个问题,最近我开始使用SQL,所以如果有人可以帮助我,我会很感激。

3 个答案:

答案 0 :(得分:0)

您尝试过

Select [8 - Tests] 
from OGRAF, Suivi 
WHERE Suivi.Service=OGRAF.Service and Suivi.idProject=1;

尝试一下

答案 1 :(得分:0)

据我了解,以下答案可能会有所帮助。

您可能希望将问题标记为MySQL,并写出更好的文本(您的请求不明确-您未指定将OGRAF表的Suivi列RAFHJ中的值设置为什么)。

MySql(未选中)示例:

update Suivi su
  join OGRAF og on su.Service = og.Service
set
  su.RAFHJ = 2
where su.idProject = 1;

答案 2 :(得分:0)

MySql具有一种语法,该语法允许在列名内使用空格。您必须用反引号`

括起名称

如果联接列表中多个表中的列名相同,则可以使用表名在选择列表中为列添加前缀,以消除歧义。

See fiddle demo