我有三张table
Table1: Places (a place can have multiple contacts)
Columns: place_id, place_name, ...
Table2: Contacts (a contact can visit multiple places)
Columns: contact_id, contact_name, ...
Table3: PlacesContacts
Columns: id, place_id, contact_id
然后我想让所有的用户从一个特定的地方,然后我可以做一些像
select * from PlacesContacts where place_id = 3
我会得到所有的 contact_id's
我需要但我也想得到 contact_id's
数据来源 Contacts
table。
实现这一目标的最佳方法是什么?任何帮助都将不胜感激。
4条答案
按热度按时间ttp71kqs1#
使用联接:
k0pti3hp2#
你在placecontacts的联系人id来自contacts表,是吗?然后你可以加入这两个表
mf98qq943#
可以使用简单的内部联接语句:
谢谢
9w11ddsr4#
我假设表-位置和联系人之间的关系是m:n(勾选#1如果你不知道什么是m-to-n关系),那么tim biegeleisen的答案将对你有所帮助。
如果是1:n的关系。也许您应该将place\u id添加到contacts表中并删除places联系人。
1.“n:m”和“1:n”在数据库设计中的意义