同一張資料庫表中id是某些行的sid,已知id,想用一條s

2021-04-24 07:21:51 字數 1199 閱讀 7484

1樓:真奇怪

這個簡單

select id,加不包含sid的所有列 from table1union

select sid,加不包含id的所有列 from table2

在一個sql表中有兩個欄位id和sid,sid等於id代表這列是id列的子項。

2樓:匿名使用者

請描述的再詳細一點~~~

定義一個函式,用來獲取當前節點的路徑(即其所有級別父節點)

create function dbo.getpath(@sid varchar(20))

returns varchar(1000)

as-- 返回銷售僱員對應的商務列表,以逗號分列

begin

declare @sidlist varchar(1000)

declare @ssupperid varchar(20)

set @sidlist = ''

set @ssupperid = @sid

while 1 = 1

begin

set @ssupperid = (select top 1 sid from 表 with(nolock) where id = @ssupperid)

if isnull(@ssupperid,'') = ''

begin

break

endelse

begin

set @sidlist = @sidlist + @ssupperunitid + ','

endend

if @sidlist <> ''

set @sidlist = substring(@sidlist,1,len(@sidlist)-1)

return @sidlist

end要查當前節點的路徑:

select *, from dbo.getpath(id) as path from 表

要查某節點('100')的所有級別父節點的詳細資訊:

select * from 表 where id in (''' + replace(dbo.getpath('100'),',',''',''') + ''')

後邊這句:(''' + replace(dbo.getpath('100'),',',''',''') + ''')

是為了將各項用分號分割

SQL查詢同一資料庫中的表中重複欄位出現的次數並與入另一表的欄位中

如果xin表的id是自增列,則 insert into xin ename,sname,newnum select min ename as ename,sname,count as newnum from jie group by sname 只要在asp 中執行這個sql語句就可以了 首先,你要...

Access同一資料庫中的兩個表之間可以建立兩個或兩個以上的

ta col1,col2 tb col,col3 select ta.col1,tb1.col3,ta.col2,tb2.col3 from ta,tb tb1,tb tb2where ta.col1 tb1.col and ta.col2 tb2.col access也支援inner join l...

如何刪除資料庫中的一行,如何刪除資料庫中某一列的值

刪除資料庫中的一行分為以下幾個步驟 1 通過資料庫訪問客戶端 例如訪問oracle,使用plsql 使用有刪除許可權的使用者登入資料庫 2 執行刪除指令碼 delete from tablename where id 11 這裡假設刪除的表名為tablename,標識要刪除行的欄位為id,值為11 ...