2個資料庫
A資料庫有:老師、學生、成績
B資料庫有:老師、科目
因為小明老師還在輸入成績,但最後還是要顯示出小明老師資料
A資料庫 [TableA]成績
小王、A、15
小王、B、30
小王、C、40
小白、A、20
小白、B、30
小白、C、40
小黑、A、25
小黑、B、30
小黑、C、40
共9筆資料
B資料庫 [TableB]老師名單
小明、國文
小王、數學
小白、英文
小黑、歷史 共4筆資料
兩個table串起來要顯示的資料樣子是
A、小明、國文、NULL
A、小王、數學、15
A、小白、英文、20
A、小黑、歷史、25 共4筆資料
這是我目前碰到問題把他簡略說明一下,不合理地方跟我說一下
如果使用full join會造成資料串錯成迴圈一樣答案
煩惱阿
這個語法應該可以達到你要的要求
<pre class="c" name="code">SELECT [tb3].[學生],[tb3].[老師],[tb3].[科目],[tb2].[成績] FROM (SELECT [tb1].[學生],[TableB].[老師],[TableB].[科目] FROM (SELECT DISTINCT [TableA].[學生] FROM [TableA]) AS [tb1],[TableB]) [tb3] LEFT JOIN (SELECT [學生],[成績],[老師] FROM [TableA]) AS [tb2] ON [tb3].[學生]=[tb2].[學生] AND [tb3].[老師]=[tb2].[老師]
A 小明 國文 null
A 小王 數學 15
A 小白 英文 20
A 小黑 歷史 25
B 小明 國文 null
B 小王 數學 30
B 小白 英文 30
B 小黑 歷史 30
C 小明 國文 null
C 小王 數學 40
C 小白 英文 40
C 小黑 歷史 40
感謝海綿寶大廚給的靈感~~~
一大串的sub-query....
明眼人一看就知道
重點在於老師和學生
而不是成績
不過坦白說
這SQL指令我還真寫不出來
L大真厲害 除了做偵探還要寫ASP~~!
比俺這個半吊子的利害多了
多虧了大廚把牛給拆解開了...
我只是把拆解開的上等牛肉...弄成了漢堡肉...
海綿寶寶把牛拆開
L大其實是皮老闆(話題瞬間轉換
wiselou
也真厲害,跟我現在寫的答案很類似,目前這個關卡已經算是結案了
其實我應該要把學生在拆成另外一個table才對,現在我發現要串兩個left join才可能解決我目前現況!!
這已經算是另外一個問題,就先把這關給結案!!
居然要六小時才能結案,就稍微等一下吧
繼續完成我的工作
chingfeng提到:
其實是皮老闆
噓....不可以給蟹老闆聽到....
哈~各位我SQL完工了
結果ASP因為判斷空值或者型態上有問題,目前還在debug中
抱歉ASP的問題俺不會(淚奔
感覺兩個資料表少了關連性
譬如俺再設定表單假如有需要跟另一個資料表關聯的話
SQL 因該是join 不過俺好像沒有用過~~!
tableA(學生)
流水編號 等級 姓名 分數 老師的流水編號
tableB(老師)
流水編號 姓名 科目
俺資料庫會這樣設計
那個KEY值是有,我只是沒有寫出來,想說先舉例唯一相關值比較好對應,畢竟我有6個TABLE在串資料,真正再互串的是有2個,成績跟老師而已,所以我在想只要把這兩個JOIN搞定,其他應該不會影響到
http://www.1keydata.com/tw/sql/sqljoins.html
JOIN俺不熟不過有教學 看有沒有幫助到你
太久沒寫程式了 最近以研究技術為主
俺用俺的MYSQL測試一下好了~~!