A表 id name
B表 id name A表id type

這種格式要怎么處理
uj5u.com熱心網友回復:
說說具體需求。uj5u.com熱心網友回復:
子查詢:
select a.id,(select max(name) from B b where b.aID = a.id and b.type=1) BName1,(select max(name) from B b where b.aID=a.id and b.type=2) BName2,a.Name from A a
uj5u.com熱心網友回復:
你中文也取不了最大值啊uj5u.com熱心網友回復:
可以取的,另外這里是為了對name進行聚合,確保符合B.AID = A.ID AND B.TYPE = 2這個條件只能查出一個name,免得查出多個符合條件的name,導致報錯。
uj5u.com熱心網友回復:
SELECT a.id AS [A表id],(CASE WHEN b.type = 1 THEN b.name ELSE '' END) AS [B表name(type=1)]
,(CASE WHEN b.type = 2 THEN b.name ELSE '' END) AS [B表name(type=2)]
,a.name AS [A表name]
FROM A表 a
JOIN B表 b ON b.A表id = a.id
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/252872.html
標籤:基礎類
上一篇:高分等:直接將select結果輸出到DBF檔案報錯:尚未注冊 OLE DB 訪問介面 "Microsoft.ACE.OLEDB.12.0"。
