2013-02-05 60 views
2

我做了一些期試驗研究,但不可能發現還沒有實現這一需要的確切概念回波數據:SQL - 創建關係從兩個表中

:::編輯:::我的初始請求wasnt清除所以在這裏我再試試

我有兩個表,

table_01四列:id/name/address/id_cattable_02有兩列:id_cat/category

table_01table_02id_cat只是一個INT(10),而category是應該包含類的確切名稱(這是相當長的)一個VARCHAR。我試圖做的是,當在table_01上進行查詢時,echo會顯示table_01的結果,但不是將id_cat顯示爲數字,而是顯示來自table_02category的文本。

結果表明,因爲我期待它,但是,如果例如在table_02,我有一排id_cat = 1,category = AAAAA,我想從table_01呼應id_cat作爲categorytable_02,靜得例如,002 | standon | 125市場街| AAAAA而不是我現在得到的,這是002 | standon | 125市場街| 1.

我沒有創建兩個表之間的關係。

回答

0

如果我明白你是什麼後,你的數據查詢將只需要是這樣的:

select t1.id as id, t2.category as category from tab_01 as t1 
left join tab_02 as t2 on t1.id_cat = t2.id_cat where t1.id = '5'; 

5顯然是您正在尋找tab_01的ID。

+0

謝謝。在這種情況下,我是否很好地理解在此示例tab_01和tab_02的​​兩個表之間都需要創建NO關係? – user2041905

+0

是的,你不需要直接創建關係,儘管它可能是明智的。 無論您是否在兩者之間定義了特定關係,都可以在任意列上連接兩個表。 –

+0

謝謝克里斯,我會從這裏拿走它。 – user2041905

0

我不完全清楚你的問題。但我認爲這會幫助你。

現在您已經在這兩個表格之間創建了一對多的關係。這意味着一個類別(tab_02)可以有多個tab_01數據。

你可以試試這個查詢:

SELECT t1.id_cat AS id_cat_number, t2.* 
FROM tab_02 t2 
INNER JOIN tab_01 t1 ON t1.id_cat = t2.id_cat 
WHERE t2.category = XXXXXXXX