SQL自連線查詢

2021-05-22 01:19:42 字數 534 閱讀 3405

問題:

表testcolor

title   color sign

a 紅 111

b 紅 222

a 綠 333

c 紅 444

轉檢視:

title 紅 綠

a 111 333

b 222 null

c 444 null

解答: 

declare @sql nvarchar(1000)

set @sql = 'select title'

select @sql = @sql + ',sum(case color when ''' + color + ''' then sign else 0 end) ['+color+']'

from (select distinct color from testcolor) as a

select @sql = @sql + ' from testcolor group by title'

print @sql

exec (@sql)

SQL查詢 內連線 外連線 自連線查詢

先建立2個表 學生表和教師表 在每個表中找出符合條件的共有記錄。x inner join y on.第一種寫法 只用where select t.teacher name,s.student name from teacher t,student s where t.id s.teacher id ...

mysql自連線查詢 Mysql自連線查詢例項詳解

自連線查詢 假想以下場景 某一電商 想要對站內產品做層級分類,乙個類別下面有若干子類,子類下面也會有別的子類。例如數碼產品這個類別下面有筆記本,台式電腦,智慧型手機等 筆記本,台式電腦,智慧型手機又可以按照品牌分類 品牌又可以按照 分類,等等。也許這些分類會達到乙個很深的層次,呈現一種樹狀的結構。那...

SQL自連線查詢和case when詳解

今天在逛論壇,突然看到了一條sql語句,裡面用了case和when,感覺自己以前沒有學過這個知識點啊,就蒐集了一些資料,下面是一些總結。首先準備資料 建立資料庫hivedemo create database hivedemo use hivedemo 建立course表 create table ...