我有兩個表,一個包含基本的資源信息,以列和值,如:SQL時,爲了在同一個表中查詢排序
並與列關聯的值EXTA的一個單獨的表和數據,如:
我所試圖做的是寫一個SQL查詢,將加入兩個生產由「命令」鍵排序,像這樣的結果:
我不知道如何讓我的加入工作,這樣我既可以從同一個表拉的位置值,然後排序的順序值。
而在你問之前,不,我不能重新設計數據庫模式,我必須與此工作。任何幫助非常感謝!
我有兩個表,一個包含基本的資源信息,以列和值,如:SQL時,爲了在同一個表中查詢排序
並與列關聯的值EXTA的一個單獨的表和數據,如:
我所試圖做的是寫一個SQL查詢,將加入兩個生產由「命令」鍵排序,像這樣的結果:
我不知道如何讓我的加入工作,這樣我既可以從同一個表拉的位置值,然後排序的順序值。
而在你問之前,不,我不能重新設計數據庫模式,我必須與此工作。任何幫助非常感謝!
試試這個
SELECT t1.RESOURCE_NO
,t1.NAME
,t2.VALUE
,t3.VALUE -- Included so that you can "see" the value
FROM table1 t1
INNER JOIN table2 t2
ON t1.RESOURCE_NO = t2.RESOURCE_NO AND t2.[KEY] = 'location'
INNER JOIN table2 t3
ON t1.RESOURCE_NO = t3.RESOURCE_NO AND t3.[KEY] = 'order'
ORDER BY t3.VALUE ASC
這個總體思路應該工作(甲骨文下測試):
SELECT *
FROM TABLE1
JOIN TABLE2 TABLE2_ORDER
ON TABLE1.RESOURCE_NO = TABLE2_ORDER.RESOURCE_NO AND TABLE2_ORDER.KEY = 'order'
JOIN TABLE2 TABLE2_NONORDER
ON TABLE1.RESOURCE_NO = TABLE2_NONORDER.RESOURCE_NO AND TABLE2_NONORDER.KEY <> 'order'
ORDER BY
TABLE2_ORDER.VALUE
用簡單的英語:
(當然,這是假定有恰好每TABLE1一個「訂單」值的行。如果不是,該查詢將或者「乘」或「擦除」的行的情況下。)
只有一個訂單值,我會試試這個,謝謝! – Stephen 2012-02-19 16:19:05