当我运行此查询它会显示错误如何在sql中使用子查询选择一个列值?
select Title,ParentTitle,(select t.Title+'_'+t.ParentTitle from CTE t join CTE s on t.Title=s.Title where t.visible=0 or t.visible=1)as show from CTE
当我上述查询将显示在下面的结果 结果
Title ParentTitle show
p1 Home p1_Home
p1.1 p1 p1_Home
p1.1.1 p1.1 p1_Home
p2 Home p1_Home
p2.1 p2 p1_Home
p2.2 p2 p1_Home
p2.3 p2.2 p1_Home
P3 Home p1_Home
p3.1 p3 p1_Home
P3.1.1 p3.1 p1_Home
预期 结果
Title ParentTitle show
p1 Home p1_Home
p1.1 p1 p1.1_p1
p1.1.1 p1.1 p1.1.1_p.11
p2 Home p2_Home
p2.1 p2 p2.1_p2
p2.2 p2 p2.2_p2
p2.3 p2.2 p2.3_p2.2
P3 Home p3_Home
p3.1 p3 p3.1_p3
P3.1.1 p3.1 p3.1.1_p3.1
错误消息
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
如何解决这个..
[SQL Server子查询的可能重复返回多个值。这是不允许的,当子查询遵循=,!=,<, <= , >,> =](http://stackoverflow.com/questions/2653188/sql-server-subquery-returned-more-than-1-value-this-is -s-s) –
你能否提供该表的数据? –