2010-06-18 34 views
0

HI 2倍型動物的值,我有兩個表 1-名稱,ID代碼 2- ID,價值,概念顯示來自相同場

一個名稱可以有兩個概念和兩個值。我想檢索這個: ID,名稱,值1,值2。

我該怎麼做?

坦克

+0

什麼字段用於鏈接表1和2?或者身份證是公鑰? – 2010-06-18 15:46:05

+0

請澄清這個問題。這聽起來像你想要在兩個表上執行一個JOIN操作,通過ID連接。 – Alex 2010-06-18 15:50:13

回答

0

例如,您可以

SELECT t.id, t.name, t.value as value1, t2.value as value2 
FROM table2 as t 
    INNER JOIN table2 as t2 ON t.id = t2.id AND t.value <> t2.value 

做的,但也有許多其他可用的方法。

編輯

SELECT t1.id, t1.name, t2a.value as value1, t2b.value as value2 
FROM table1 as t 
    INNER JOIN table2 as t2a ON t.id = t2a.id 
    INNER JOIN table2 as t2b ON t.id = tba.id AND t2b.value <> t2a.value 

注:解決方案假定有2行每個ID(在3行情況下,你將得到的結果每個ID多行)

+0

看起來不錯,除非您僅使用他提到的第二個表格並且「名稱」列在第一個表格中。我唯一要添加的是在table1.id = table2.id上做table1作爲t1的另一個連接,所以他將名稱字段設置爲t1.name – Kyra 2010-06-18 15:52:52

+0

yup,你是對的,我錯過了......更新 – Unreason 2010-06-18 16:37:28

1

這將是一個開始:

SELECT 
    T.id, 
    T.name, 
    V1.value AS value1, 
    V2.value AS value2 
FROM 
    My_Table T 
LEFT OUTER JOIN My_Values V1 ON V1.id = T.id 
LEFT OUTER JOIN My_Values V2 ON V1.id = T.id 

但這裏的問題是,什麼區別價值1和價值2?它是「概念」中的一個值,它是否首先添加到數據庫中?其他列有更高的ID列?您的要求沒有完整闡述。

相關問題