2009-10-21 128 views
0

好了,第一下是我的表格:Mysql SELECT嵌套查詢,非常複雜?

表房子:

ID | items_id |

1 | 1,5,10,20 |


表項目:

ID | room_name |請參考

1 |廚房| 3

5 | room1 | 10


表廚房:

ID | detail_name |請參考

3 |勺| 4

5 |叉| 10


表匙:

ID |名稱|顏色|價格| quantity_available |

4 | spoon_a |白色| 50 | 100 |

5 | spoon_b |黑色| 30 | 200 |

如何做一個嵌套的select語句,我想從'house'表的'items_id'列中的每個值中選擇id,name,color,price和quantity_available列?

這是非常具有挑戰性的!

編輯:

後讀羅賓的答案

表房子:

ID | items_id |

house1 | 1 |

house1 | 5 |

house1 | 10 |

house2 | 20 |

如果這是它的房子表,如何做嵌套,連接或任何選擇語句?

+0

在'house'表中,'1,5,10,20'如何存儲?就像一個多字符串那樣的字符串? – 2009-10-21 08:37:34

+0

@亞歷克斯:是亞歷克斯,目前是一個逗號分隔符的字符串 – smartbear 2009-10-21 08:43:24

+0

表間關係不是很清楚,至少對我而言。你應該規範化家庭表,但爲了幫助你選擇,我們需要知道什麼是ID。 – 2009-10-21 08:47:16

回答

1

複雜性似乎在您的「房子」表中。

您不應將ID's存儲爲以逗號分隔的列表,相反,您應該爲每個項目ID都分別放置一行。

一旦你把它分開,你會發現只需簡單的連接就可以產生任何結果。

+0

@robin:如果我把房子字符串分隔成行,如何使用連接查詢?(簡單連接?? – smartbear 2009-10-21 08:42:03

+0

看看W3Schools SQL連接教程:http://www.w3schools.com/Sql/sql_join。 ASP – Amber 2009-10-21 08:47:53