如何得到:
id Name Value
1 A 4
1 B 8
2 C 9
Run Code Online (Sandbox Code Playgroud)
至
id Column
1 A:4, B:8
2 C:9
Run Code Online (Sandbox Code Playgroud) 我知道在sql server中我们不能使用Group_concat函数但是这里有一个问题,我需要Group_Concat我的查询.我谷歌它发现了一些逻辑,但无法纠正它.我的SQL查询是
select m.maskid,m.maskname,m.schoolid,s.schoolname,
md.maskdetail
from tblmask m join school s on s.id = m.schoolid
join maskdetails md on m.maskid = md.maskid
order by m.maskname ;
Run Code Online (Sandbox Code Playgroud)
它给我的结果如

只看前三行在那个maskid,maskname,schoolid,schoolname是相同的但是maskdetail是不同的,所以想要一行,其中最后一列可以包含所有maskdetails,如maskid等等.
我希望我的输出像

等等.请在查询时帮助我.
提前致谢.
我想在SQL Server中创建一个表值函数,我想以逗号分隔值返回数据.
例如表格: tbl
ID | Value
---+-------
1 | 100
1 | 200
1 | 300
1 | 400
Run Code Online (Sandbox Code Playgroud)
现在,当我使用该函数执行查询时 Func1(value)
SELECT Func1(Value)
FROM tbl
WHERE ID = 1
Run Code Online (Sandbox Code Playgroud)
我想要的输出是: 100,200,300,400
我目前有一个返回许多字段的SQL查询.我需要一个字段实际上是一个子查询子.
问题详细:
如果我有一个包含两列的表X,ModuleID并说ModuleValue,我如何编写SQL查询来获取结果并将其连接到一个字段:
EG结果返回
(SELECT ModuleValue FROM Table_X WHERE ModuleID=@ModuleID)
Run Code Online (Sandbox Code Playgroud)
价值1
价值2
价值3
...
我需要返回结果(作为单行,与上面不同):
值1,值2,值3
是否有一个简单的连接方法可以是用户?
编辑:
DB是MS TSQL(2005)
sql sql-server sql-server-2005 concatenation sql-server-group-concat
假设我有这个表[表1]
Name Mark
------- ------
ABC 10
DEF 10
GHI 10
JKL 20
MNO 20
PQR 30
Run Code Online (Sandbox Code Playgroud)
我的SQL语句应该是什么来检索看起来像这样的记录:( group by [mark]).我已经完成了1和2列,但不知道如何完成第3列(使用相同的[mark]连接[name])
mark count names
---- ----- -----------
10 3 ABC,DEF,GHI
20 2 JKL,MNO
30 1 PQR
Run Code Online (Sandbox Code Playgroud)
我正在使用Microsoft SQL.请帮忙.谢谢
我需要在表上编写一个sql查询,以便结果将具有group by列以及带有逗号分隔符的聚合列.
我的表格将采用以下格式
|`````````|````````|
| ID | Value |
|_________|________|
| 1 | a |
|_________|________|
| 1 | b |
|_________|________|
| 2 | c |
|_________|________|
Run Code Online (Sandbox Code Playgroud)
预期结果应采用以下格式
|`````````|````````|
| ID | Value |
|_________|________|
| 1 | a,b |
|_________|________|
| 2 | c |
|_________|________|
Run Code Online (Sandbox Code Playgroud) sql sql-server select aggregate-functions sql-server-group-concat
我有以下查询:
SELECT
Account,
Unit,
SUM(state_fee),
Code
FROM tblMta
WHERE MTA.Id = '123'
GROUP BY Account,Unit
Run Code Online (Sandbox Code Playgroud)
这当然会引发异常,因为代码不在group by条款中.每个state_fee都有一个代码.如何将此代码显示在1条记录中(每个state_fee 1个代码,即每个单元的多个state_fee)作为逗号分隔列表?我在这里查看了不同的解决方案,但我找不到任何有用的解决方案group by.
sql sql-server sql-server-2005 aggregate-functions sql-server-group-concat
是否可以通过函数(如sum,avg,count等)将字符串与一个或多个其他组连接起来.
说我有下表
Id Name Order Value
1 a 1 100
2 b 2 200
3 c 1 300
4 d 1 100
5 e 2 300
Run Code Online (Sandbox Code Playgroud)
现在,如果我希望结果是这种类型的东西
Order Name Value Count
1 a,c,d 500 3
2 b,e 500 2
Run Code Online (Sandbox Code Playgroud)
如何在SQL服务器上使用查询来实现相同的功能.
sql t-sql sql-server aggregate-functions sql-server-group-concat
我正在加入多个表,我希望根据以下内容将一个列值放入行中TechnicianName:
我有4个表easy_tbljobcard,easy_tbltechnician并easy_tblproblem和easy_tbltechnicianMaster
我得到TechnicianName第2列从easy_tbltechnicianMaster 哪里technicianId存在easy_tbltechnician
我想STUFF在我的查询中的第3列(p.ProblemReported)
当前的SQL语句:
SELECT j.CardID,
, (SELECT TechnicianName FROM easy_tbltechnicianMaster WHERE TechnicianID = t.technicianID) AS TechnicianName
, p.ProblemReported
FROM easy_tbljobcard AS j
JOIN easy_technician AS t ON t.CardID = j.CardID
LEFT JOIN easy_tblproblem AS p ON p.CardID = t.CardID
Run Code Online (Sandbox Code Playgroud)
查询结果:
???????????????????????????????????????????????????
? CardID ? TechnicianName ? ProblemReported ?
???????????????????????????????????????????????????
? 1 ? AKBAR ? PROBLEM A ?
? …Run Code Online (Sandbox Code Playgroud) sql t-sql sql-server sql-server-2008 sql-server-group-concat
mysql> select * from CT;
| CID | MID | REPORT_QUERY |
| 1 | 1 | select * from emp; |
| 2 | 2 | select * from student; |
2 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
我想在REPORT_QUERY列中执行查询.
DELIMITER //
CREATE PROCEDURE TRYct()
BEGIN
SET @str=(SELECT GROUP_CONCAT(REPORT_QUERY SEPARATOR ' ') FROM CT);
PREPARE q from @str;
EXECUTE q;
END //
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
我使用此代码,但如果我的表中只有一个查询,它可以工作.如果有两个查询而不是它给出错误.
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual …Run Code Online (Sandbox Code Playgroud) mysql stored-procedures group-concat sql-server-group-concat