看板 Database 關於我們 聯絡資訊
如果我沒把你的問題理解錯誤, 如果只是為了達到目的的話, 有兩個解法. 第一個方法: 走實在路線的, 反正你的課程這麼少, 那就乾脆不用 Esub這張表了. 用case when 來做. SELECT case when [clsAM]=1 then '國' when [clsAM]=2 then '英' when [clsAM]=3 then '數' when [clsAM]=4 then '理' end [早上] ,case when [clsPM]=1 then '國' when [clsPM]=2 then '英' when [clsPM]=3 then '數' when [clsPM]=4 then '理' end [下午] FROM [test].[dbo].[Eclass] 第二個方法: 可能比較符合你心目中的複雜. 你就這樣想 "既然一個會衝突, 那再JOIN 一個不就好了. 不是嗎? 哈哈 SELECT B.sub [早上] ,C.sub [下午] FROM [test].[dbo].[Eclass] AS A JOIN [test].[dbo].[Esub] AS B ON A.[clsAM]=B.[uid] JOIN [test].[dbo].[Esub] AS C ON A.[clsPM]=C.[uid] 希望魯蛇的答案對你有幫助QQ 喔對了, 希望哥葛您下次發文的時候... values 的名稱要在整篇文章裡都保持一致阿~~~ 不然很難閱讀, 也可能會令人誤解你想要問的問題. ※ 引述《justlike5566 (5566天下無敵)》之銘言: : 今天做練習遇到一個問題想了很久不知何解 : dbo.Esub : uid sub : 1 國 : 2 英 : 3 數 : 4 理 : dbo.Eclass : clAm clPm : 1 4 : 2 3 : 3 2 : 4 1 : Eclass 各對Esub 的sid : 我想做出 : 早上 下午 : 國 理 : 英 數 : 數 英 : 理 國 : 寫法是 : SELECT a.clsam AS '早上',a.clspm AS '下午' FROM dbo.Eclas AS a : JOIN dbo.Esub AS b ON a.clam=b.sid : 寫到這邊後突然想到 早上跟下午的判斷會衝突 不知道條件要怎麼下 : 求神人解答 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.201.160 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1397916708.A.B72.html ※ 編輯: hhomerun (111.248.201.160), 04/19/2014 22:17:09
MagicPaul:想問一下,魯蛇到底是啥意思啊 04/20 19:32
cleanwind:魯蛇是 loser 的諧音,溫拿是 winner 的諧音。 04/20 22:43