我搜索了一下,發現了很多類似的東西,但並不完全符合我的要求。MS Access(通過VB.NET) - 將鏈接的屬性錶轉換爲輸出中的列
我有什麼本質上是一堆帶有屬性和值的鏈接表。
xxBio table
xxBio_ID xxBio_LINK
1 100
2 101
xx table
xxBio_LINK xxAttr_LINK
100 1000
101 2000
xxAttr table
xxAttr_LINK xxAttrCat_1_LINK xxAttrCat_2_LINK
1000 null 550
2000 650 null
xxAttrCat_1 table
xxAttrCat_1_LINK xxAttrCat_1_Description xxAttrCat_1_Value
650 wumpus 20
xxAttrCat_2 table
xxAttrCat_2_LINK xxAttrCat_2_Description xxAttrCat_2_Value
550 frith 30
輸出要求是:
xxBio_ID frith wumpus
1 30 null
2 null 20
我可以很容易地看到如何得到的結果與像attribute_name1,attribute_value1,attribute_name2,attribute_value2等欄目設置。
SELECT xxBio.ID, xxAttrCat_1.xxAttrCat_1_Description, xxAttrCat_1.xxAttrCat_1_Value, xxAttrCat_2.xxAttrCat_2_Description, xxAttrCat_2.xxAttrCat_2_Value
FROM ((
(xx INNER JOIN xxBio ON xx.xxBio_LINK = xxBio.xxBio_LINK)
INNER JOIN xxAttr ON xx.xxAttr_LINK = xxAttr.xxAttr_LINK)
LEFT JOIN xxAttrCat_1 ON xxAttr.xxAttrCat_1_LINK = xxAttrCat_1.xxAttrCat_1_LINK)
LEFT JOIN xxAttrCat_2 ON xxAttr.xxAttrCat_2_LINK = xxAttrCat_2.xxAttrCat_2_LINK
但這不是我們所需要的。我們需要屬性名稱作爲列名。
我們如何實現這一目標?
更新質疑: 原來,我們誤解了要求,所以我們不得不採取了不同的路線,並沒有得到嘗試的答案。我很感激幫助。
剛想過這個。上面這個可以用來創建你的表,但是隨後的傳遞將會被要求把這些記錄寫到這個表中,就像你的例子一樣。 – geeFlo