对你们来说,我有一个棘手的SQL问题。 我正在使用drupal的Webform模块。
此模块的工作原理:
- webform上的每个项目都是'webform_submitted_data'表中的新记录,
- sid =注册用户
- cid = webform字段
表的结构:
NID | SID | CID |没有| DATA
1 --- 168 --- 1 --- 0 --- XXX
1 --- 168 --- 2 --- 0 --- YYY
问题: - 应使用相同SID的CID 56值更新CID 64。
答案 0 :(得分:4)
我认为应该如下:
UPDATE webform_submitted_data as a, webform_submitted_data as b
SET a.data = b.data WHERE a.sid = b.sid AND a.cid = 64 AND b.cid = 56
基本上,您自行加入表格(匹配SID),然后在查询中同时包含两个字段,因此您可以简单地同时参考每个字段。
答案 1 :(得分:1)
对于SID的每个值,这将把CID 56的数据复制到CID 64。它是SQL Server语法。
update yt64
set Data = yt56.Data
from YourTable yt64
join YourTable yt56
on yt64.SID = yt56.SID
where yt64.CID = 64
and yt56.CID = 56