我有一个表包含公司信息(即姓名,地址,业务描述......)和另一个包含用户信息的表(即名字,姓氏,电子邮件和密码)。如何将公司表绑定到用户表,以便在用户登录时,公司与用户正确关联?我可以在公司表中使用userid列吗?
答案 0 :(得分:4)
假设有几个用户可能属于一家公司,但只有一家公司可能与用户关联,那么用户表中的公司ID最有意义。
要将两个表连接在一起,您希望在所有情况下都匹配,请使用INNER JOIN:
SELECT u.*, c.companyname FROM users u
INNER JOIN companies c ON u.companyid = c.companyid
显然,上面是模拟查询,需要定制以匹配您的架构/要求。
答案 1 :(得分:2)
您正在寻找joins。
公司与用户之间存在一对多的关系,因此您需要在user表中创建一个名为company_id的列,然后像这样查询以获取用户及其公司:
SELECT * FROM users INNER JOIN companies ON users.company_id = companies.id
答案 2 :(得分:0)
不,你可能会有一对多的关系。因此,一家公司包含许多员工。但是,一名员工只属于一家公司(为了简单起见)。
这需要用户表中的外键指向公司的ID。