Sql 按从组中选择字段
我已完成此查询,但由于group by子句,无法选择所有字段 如何重新格式化查询,使其检索所有信息? 我尝试按每个字段分组,但其中一些是文本 SELECT p.Pato_Id, p.Description, p.Dated a.Assessment_Id, a.Recommendation, Question1 = MAX(CASE WHEN r.Question_Id = 0 THEN r.Answer_Id END), Question2 = MAX(CASE WHEN r.Question_Id = 1 THEN r.Answer_Id END) FROM Patos p OUTER APPLY ( SELECT TOP 1 a.Assessment_Id , a.Recommendation FROM Assessments a WHERE a.Pato_Id = p.Pato_Id ORDER BY a.Dated DESC ) a JOIN Replies r ON a.Assessment_Id = r.Assessment_Id GROUP BY p.Pato_IdSql 按从组中选择字段,sql,sql-server,Sql,Sql Server,我已完成此查询,但由于group by子句,无法选择所有字段 如何重新格式化查询,使其检索所有信息? 我尝试按每个字段分组,但其中一些是文本 SELECT p.Pato_Id, p.Description, p.Dated a.Assessment_Id, a.Recommendation, Question1 = MAX(CASE WHEN r.Question_Id = 0 THEN r.Answer_Id END), Questi
尝试将文本字段强制转换为nvarcharmax,然后包括group by中的所有字段,例如:
SELECT
p.Pato_Id,
CAST(p.Description AS nvarchar(max)),
p.Dated,
a.Assessment_Id,
a.Recommendation,
Question1 = MAX(CASE WHEN r.Question_Id = 0 THEN r.Answer_Id END),
Question2 = MAX(CASE WHEN r.Question_Id = 1 THEN r.Answer_Id END)
FROM Patos p
OUTER APPLY (
SELECT TOP 1
a.Assessment_Id
, a.Recommendation
FROM Assessments a
WHERE a.Pato_Id = p.Pato_Id
ORDER BY a.Dated DESC
) a
JOIN Replies r
ON a.Assessment_Id = r.Assessment_Id
GROUP BY
p.Pato_Id,
CAST(p.Description AS nvarchar(max)),
p.Dated,
a.Assessment_Id,
a.Recommendation
哪个是文本栏?假设是p.Description,则可以执行以下操作:
SELECT sub.*, t.Description FROM
(SELECT
p.Pato_Id as Pato_Id,
t.Description as Description,
t.Dated as Dated,
a.Assessment_Id as Assessment_Id,
a.Recommendation as Recommendation,
Question1 = MAX(CASE WHEN r.Question_Id = 0 THEN r.Answer_Id END),
Question2 = MAX(CASE WHEN r.Question_Id = 1 THEN r.Answer_Id END)
FROM Patos p
OUTER APPLY (
SELECT TOP 1
a.Assessment_Id
, a.Recommendation
FROM Assessments a
WHERE a.Pato_Id = p.Pato_Id
ORDER BY a.Dated DESC
) a
JOIN Replies r
ON a.Assessment_Id = r.Assessment_Id
GROUP BY
p.Pato_Id,
a.Assessment_Id,
a.Recommendation) AS sub
INNER JOIN Patos t ON
t.Pato_Id = sub.Pato_Id
如果您的团队也被推荐为:
GROUP BY
p.Pato_Id,
a.Assessment_Id
您也可以加入该表。当我尝试通过将所有字段添加到组中时,会出现以下错误:文本、ntext和图像数据类型无法进行比较或排序,除非使用IS NULL或LIKE运算符。我无法执行此操作。我必须按原样归还一切。我想用一种方法将查询拆分为两个选择,但我不知道该怎么做。另一种方法是将分组的查询连接回其他值的查询?是的,我就是这么想的。我该怎么做呢?更新了一些选项当我放置内部连接时,它显示:关键字“INNER”附近的语法不正确