我需要加入表格,但无法真正理解网站上的内容。你能帮帮我吗?
我有桌子
产品
ID / product_name / product_description / product_code /
用户
ID / username / username_id / password /
签出
ID /product_name /product_des /username /username_id /checkedout_date / return_date /
如何从Products
(product_name / product_description)和Users
(用户名/ username_id)加入Checkedout
?
非常感谢。
答案 0 :(得分:0)
加入表格非常简单。我会留给你继续学习,但这是你加入这些表格的方式,这样你就可以更好地理解你正在学习的内容。
这个想法是你只需要列出你的表(在这种情况下,我已经为每个表添加了任意别名 - c
,p
和u
),以及指定您是想要inner
还是outer
加入,然后指定join on
的哪些列。您加入两个表中具有相同值的列。例如,Checkedout具有username_id,Users表具有ID。在指定要加入的内容时(包括AND和OR),您可以使用在WHERE子句中使用的所有相同逻辑
select
*
from
Checkedout c
inner join Products p
on (c.product_name = p.product_name and c.product_des = p.product_description)
inner join Users u
on (c.username_id = u.ID)
答案 1 :(得分:0)
首先,您需要更新数据库架构,以便对表进行规范化。 Checkedout
的建议架构:
Checkedout - id,product_id,user_id,checkedout_date,return_date
现在您可以非常轻松地编写连接查询(如下所示):
从Checkedout中选择u.username,p.product_name,co.checkedout_date作为联合用户u.id = co.user_id加入产品p on p.id = co.product_id其中u.id = 1;