SQL Server 2012:如何在列中找到常用值
请在下面找到我的确切要求并帮助我完成微调查询。 请在下面找到我的确切要求,并帮助我完成微调查询。 请在下面找到我的确切要求,并帮助我完成微调查询。
Input :
select 1, 'sankar', 'GROUPLG'
union all
select 1, 'sankar', 'GROUPLS'
union all
select 1, 'sankar', 'GROUPNG'
union all
select 1, 'sankar', 'GROUPNS'
union all
select 2, 'Srini', 'HYDRSPMLG'
union all
select 2, 'Srini', 'HYDRSPMLS'
union all
select 3, 'Ravi', 'AADSCLS'
union all
select 4, 'Arun', 'RREDFTLS'
union all
select 4, 'Arun', 'RREDFTNG'
union all
select 5, 'Raja', '1234567'
union all
select 5, 'Raja', 'ABCDESLS'
union all
select 5, 'Raja', 'ABCDESLG'
union all
select 6, 'Dhilip', 'GGGGRASCDW_RV'
Output :
-- 1 Sankar GROUP(LG,LS,NG,NS)
-- 2 Srini HYDRSPM(LG,LS)
-- 3 Ravi AADSCLS
-- 4 Arun RREDFT(LS,NG)
-- 5 Raja 1234567
-- 5 Raja ABCDESLG(LG,LS)
-- 6 dhilip GGGGRASCDW_RV
答案 0 :(得分:2)
使用FOR XML PATH('')
连接组:
SELECT
t.Userid,
t.Username,
Groupname = 'GROUP(' +
STUFF((
SELECT ',' + STUFF(GroupName, 1, 5, '')
FROM tbl
WHERE Userid = t.Userid
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)')
, 1, 1, '') + ')'
FROM tbl t
GROUP BY t.Userid, t.Username
DROP TABLE tbl
结果:
| Userid | Username | Groupname |
|--------|----------|--------------------|
| 1 | sankar | GROUP(LG,LS,NG,NS) |
| 2 | Srini | GROUP(LG,LS) |
| 3 | Aathi | GROUP(LS) |
答案 1 :(得分:1)
假设userid + username
组合是唯一的,请尝试以下查询。另外,考虑到在单个群组的情况下您不需要围绕群组使用括号,我会更新以下查询。
说明:我已使用STUFF
函数计算组的分组,其中包含逗号,后跟每个组代码,例如LS,LG,
现在基于使用CHARINDEX
使用LEN
的逗号位置与使用 select
userid,
username,
CASE
WHEN CHARINDEX(',',groupname)<LEN(groupname)
THEN 'GROUP('+ SUBSTRING(groupname,1,LEN(groupname)-1) +')'
ELSE 'GROUP'+SUBSTRING(groupname,1,LEN(groupname)-1)
end as groupname
from
(
select
userid,
username,
stuff((
select
replace(groupname,'group','') + ','
from tbl
where
userid=t.userid and username=t.username
for xml path(''),type).value('.','varchar(max)'),1,0,'')
as groupname
from tbl t
group by userid, username
)t
的字符串长度的比较,我们附加逻辑或者将GROUP()或GROUP添加到字符串
Userid Username Groupname
1 Sankar GROUP(LG,LS,NG,NS)
2 Srini GROUP(LG,LS)
3 Aathi GROUPLS
并更新 sql fiddle link http://sqlfiddle.com/#!6/21f65/1
给出了这个确切的输出
public abstract class BaseEntity implements Serializable {
@Id
@GeneratedValue
private Long id;
// Getters and setters
}
答案 2 :(得分:1)
尝试以下代码段 -
$scope.changeName = function() {
objthis.currentNodeSelected.name = objthis.currentEdit.name;
console.log($scope.name);
console.log(objthis.currentNodeSelected);
};
修改:根据要求更改了代码。请立即重新检查。
答案 3 :(得分:0)
最后,我已经成功完成了我开发的以下查询。谢谢大家。如果需要您可以复制以下查询并在SSMS中执行。
$result = json_decode(curl_exec($ch));
$resources = $result->{'$resources'};
&#13;