當我運行此查詢它會顯示錯誤如何在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) –
你能否提供該表的數據? –