繁体   English   中英

加入3个表,mysql php

[英]Joining 3 Tables, mysql php

我如何加入所有三个表? 我不知道,因为我需要把它们全部都放在一张桌子上

顾客

+--------+------------+---------------+---------+---------+
| serial |    name    |     email     | address |  phone  |
+--------+------------+---------------+---------+---------+
| 1      | first_name | email@web.com | address | 7777777 |
+--------+------------+---------------+---------+---------+

命令

+--------+------------+------------+
| serial |    date    | customerid |
+--------+------------+------------+
| 1      | 2014-03-04 | 1          |
+--------+------------+------------+

订单详情

+---------+-----------+----------+-------+
| orderid | productid | quantity | price |
+---------+-----------+----------+-------+
| 1       | 1         | 30       | 400   |
| 1       | 2         | 10       | 500   |
+---------+-----------+----------+-------+

orders上的customerid是表上customers的序列,表上order_detail上的orderidorders上的序列

如果我使用另一个桌子怎么办? 对于productid,其中另一个表中的productid = product_id?

帮助将不胜感激,我真的很抱歉桌子,我不知道如何在这里做桌子,但他们是有序的。

您只需要使用Join语句。 所以你可以做以下

Select * from Customers
join orders on Customers.serial = orders.customerid
join order_detail on orders.serial = order_detail.orderid

您还可以创建另一个名为Product表,并按照我向您展示的相同方式进行联接。

如果要从不同的表中选择列,则必须使用tablename.columnname 因此,例如,如果您想从order_detail表中选择数量和价格,请执行以下操作

 Select * from Customers,order_detail.quantity,order_detail.price
join orders on Customers.serial = orders.customerid
join order_detail on orders.serial = order_detail.orderid

希望你明白我的意思。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM