使用Mysql中的Query在多个列中连接TABLES

时间:2017-11-23 18:25:43

标签: mysql

我需要加入表格,但无法真正理解网站上的内容。你能帮帮我吗?

我有桌子

产品

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

非常感谢。

2 个答案:

答案 0 :(得分:0)

加入表格非常简单。我会留给你继续学习,但这是你加入这些表格的方式,这样你就可以更好地理解你正在学习的内容。

这个想法是你只需要列出你的表(在这种情况下,我已经为每个表添加了任意别名 - cpu),以及指定您是想要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;