2014-02-08 64 views
0

我有這2個表:MySQL的高級查詢建議

  1. 項目(編號描述類別ID)
  2. 類別(ID名父)。

我有2個父母,X和Y假設X有3個孩子的,Y與5.我想查詢數據庫和檢索由X或Y的

防爆所有的項目:如果我有10個項目2,3,1,1,5,3,8,9,7,6;在X父母我有1,2,3,5,6個類別。什麼是檢索項目的正確查詢? 我不是很擅長mysql,只做了簡單的查詢,我只是需要一些提示。

感謝

如果你想類別的一個項目的唯一列表

回答

0

做到這一點

select * from categories where itemid = 'some id'; 
or try this: 
select * from categories inner join items on items.id = categories.itemid where itemid = 'some id'; 

,或者如果你需要的類別爲多個項目的唯一列表試試這個:

select distinct categories.name from categories inner join items on items.id = categories.itemid where itemid in ('some id', 'some other id', 'etc') 

如果您在項目和類別之間有M:N表格,這將無法工作,您將不得不通過M:N表格連接......顯然,您將擁有不同的名稱和鍵。

對不起,如果這太基本了。

+0

嘿,那裏,謝謝你的回覆。我不需要獲取該類別,我需要獲取在父類別下設置的項目列表。例如,3個項目具有屬於Y父類別的3個不同類別。我需要基於查詢獲取這3個項目WHERE parent ='Y' – barosus

+0

好的,他們可以反轉邏輯,並返回一組類別的ID列表...例如select item.name from items.id = categories.itemid其中categories.id在(a,b,c) – markg

+0

謝謝,我遵循邏輯和它的工作內部連接類別。抱歉再次打擾你,我有這種不良習慣先講,然後再做。 – barosus