2009-10-21 4 views
0

D'accord, d'abord Voici mes tableaux:Mysql SELECT requête imbriquée, très compliqué?

Maison de la table:

id | items_id |

1 | 1,5,10,20 |


Tableau produits

id | nom_de_chambre | réf.

1 | cuisine | 3

5 | room1 | 10


Table de cuisine:

id | detail_name | réf.

3 | cuillère | 4

5 | fourchette | 10


Table cuillère:

id | nom | couleur | prix | quantity_available |

4 | spoon_a | blanc | 50 | 100 |

5 | spoon_b | noir | 30 | 200 | Comment faire une instruction select imbriquée, où je veux sélectionner les colonnes id, name, color, price et quantity_available, à partir de chaque valeur dans la colonne 'items_id' dans le tableau 'house'?

Ceci est très difficile !!

EDIT:

après lecture robin réponse

Tableau maison:

id | items_id |

maison1 | 1 |

maison1 | 5 |

maison1 | 10 |

maison2 | 20 |

Si c'est la table de la maison, comment faire l'instruction de sélection imbriquée, jointe, ou autre?

+0

Dans la table 'house', comment est stocké '1,5,10,20'? Juste comme une chaîne avec plusieurs nombres comme ça? –

+0

@Alex: oui Alex, actuellement est une chaîne avec une virgule comme séparateur – smartbear

+0

Les relations entre les tables ne sont pas très claires, au moins pour moi. Vous devriez normaliser la table de la maison, mais pour vous aider avec la sélection, nous devons savoir ce que les références d'identification quoi. –

Répondre

1

La complexité semble être dans votre table "maison".

Vous ne devez pas stocker d'ID dans une liste séparée par des virgules. Vous devez à la place avoir une ligne distincte pour chacun des ID d'élément. Une fois que vous divisez cela, vous devriez trouver que vous pouvez produire les résultats dont vous avez besoin avec des jointures simples.

+0

@robin: si j'ai séparé la chaîne de caractères en lignes, comment utiliser la requête de jointures? (Simples jointures – smartbear

+0

Jetez un coup d'oeil au tutoriel W3Schools SQL Joins: http://www.w3schools.com/Sql/sql_join. aspic – Amber