如何将两个表与关系表结合使用

时间:2011-10-04 08:13:32

标签: mysql vb.net visual-studio-2010

customers
phonenumbers
customers_has_phonenumbers

customers -> detailed
customers.customer_id int(11) primary auto_increment
customers.customer_name varchar(255)

phonenumbers -> detailed
phonenumbers.phonenumber_id int(11) primary auto_increment
phonenumbers.phonenumber_type int(11)
phonenumbers.phonenumber_name varchar(255)
phonenumbers.phonenumber varchar(15)

customers_has_phonenumbers -> detailed
customers_has_phonenumbers.customer_id int(11) -> holds customers.customer_id
customers_has_phonenumbers.phonenumber_id int(11) -> holds phonenumbers.phonenumber_id

如何通过phonenumbers的customers.customer_id获取数据?

我希望你们能帮我解决这个问题

1 个答案:

答案 0 :(得分:1)

SELECT * FROM phonenumbers,customers,customers_has_phonenumbers
         WHERE customers.custumer_id = customers_has_phonenumers.customer_id
         AND phonenumbers.phonenumber_id = customers_has_phonenumers.phonenumber_id
         AND customers.customer_id = [ID HERE]

注意:将*替换为您需要的字段,仅用于演示

更好的解决方案可能是在中间删除表格,但当然这只适用于客户有1个电话号码的情况。