我有以下查询,它给出了正确的结果,如下所示:
SELECT *
FROM dbo.QAA
INNER JOIN dbo.QA
ON QAA.ID = QA.ID
INNER JOIN dbo.Q
ON Q.QID = QA.QID
INNER JOIN dbo.V
ON V.VID = QAA.VID
Where
Q.QID = 1111
and V.SID = 4785
and V.VID = QAA.VID
and QA.TypeID = 4 and code <> '75785'
这给了我下表
Answer | Code | User
Apples |45879 |958-dfdf255-sdfsdf
Banana |45214 |958-dfdf255-sdfsdf
Carrot |74896 |958-dfdf255-sdfsdf
正如你所看到的,我得到了上面3个不同的答案。现在我需要添加这个查询作为子查询,如下所示
SELECT Name
, FirstName
,table.code
(SELECT Top 1
QAA.Answer
FROM dbo.QAA
INNER JOIN dbo.QA
ON QAA.ID = QA.ID
INNER JOIN dbo.Q
ON Q.QID = QA.QID
INNER JOIN dbo.V
ON V.VID = QAA.VID
Where
Q.QID = 1111
and V.SID = 4785
and V.VID = QAA.VID
and QA.TypeID = 4 and code <> '75785') AS AnswerComment
from table
where table.code=5
但是现在我没有得到所有的答案,这就是table的样子
AnswerComment | code | Name | firstname
Apples |45879 |958-dfdf255-sdfsdf | Jane
Apples |45214 |958-dfdf255-sdfsdf |Jane
Apples |74896 |958-dfdf255-sdfsdf |Jane
我的问题在子查询中,如何返回所有答案注解?
我知道top 1只会检索第一条记录,这只是一个示例。我也试过了
select max (QAA.Answer)
但这也只返回一个值
1条答案
按热度按时间ngynwnxp1#
使用
join
如果你想输入名字的话。我猜join键在user列上:注意,我删除了这个条件
V.VID = QAA.VID
因为它是多余的。这个
?
用于表别名以正确限定列名。