Mysql 如何查询这三个特定的表以获取具有内部联接的信息?

Mysql 如何查询这三个特定的表以获取具有内部联接的信息?,mysql,Mysql,我有三张桌子: customers-包含customer\u id(主键)、first\u name、, 中间名、姓氏、电子邮件(唯一)、密码、首次访问 products-带有product_id(主键)、product_name列 (唯一)、安全警告、公司 purchases-带有purchase\u id(主键)、customer\u id列 (外键)、产品标识(外键)、日期 我如何制作一份与一家特定公司的所有采购清单,例如“Company1”,显示客户的名字、产品名称以及客户购买的产品的安

我有三张桌子:

customers-包含customer\u id(主键)、first\u name、, 中间名、姓氏、电子邮件(唯一)、密码、首次访问

products-带有product_id(主键)、product_name列 (唯一)、安全警告、公司

purchases-带有purchase\u id(主键)、customer\u id列 (外键)、产品标识(外键)、日期


我如何制作一份与一家特定公司的所有采购清单,例如“Company1”,显示客户的名字、产品名称以及客户购买的产品的安全警告。我会使用内部联接吗?

您需要在
购买
产品
表上执行两个内部联接

SELECT c.first_name, pr.product_name, pr.safety_warning
FROM CUSTOMERS c
INNER JOIN PURCHASES pu
ON c.customer_id = pu.customer_id
INNER JOIN products pr
ON pr.product_id = pu.product_id
WHERE pr.company = "Company 1"

您需要在
purchases
products
表上执行两个内部联接

SELECT c.first_name, pr.product_name, pr.safety_warning
FROM CUSTOMERS c
INNER JOIN PURCHASES pu
ON c.customer_id = pu.customer_id
INNER JOIN products pr
ON pr.product_id = pu.product_id
WHERE pr.company = "Company 1"
一些事情:

SELECT customers.first_name, products.product_name, products.safety_warning
FROM customers JOIN purchases JOIN products 
ON (customers.customer_id = purchases.customer_id AND
products.product_id = purchases.product_id)
WHERE company = "Company1"
应该做点什么:

SELECT customers.first_name, products.product_name, products.safety_warning
FROM customers JOIN purchases JOIN products 
ON (customers.customer_id = purchases.customer_id AND
products.product_id = purchases.product_id)
WHERE company = "Company1"

应该行得通

这应该行得通你现在有很多选择

SELECT C.first_name, PR.product_name, PR.safety_warning 
FROM purchases PU
join products PR on PU.product_id =PR.product_id 
join customers C on PU.customer_id =C.customer_id 
where PR.company="COMPANY1"

你现在有很多选择

SELECT C.first_name, PR.product_name, PR.safety_warning 
FROM purchases PU
join products PR on PU.product_id =PR.product_id 
join customers C on PU.customer_id =C.customer_id 
where PR.company="COMPANY1"

如果您觉得合适,您可以向上投票或/并将此答案或其他答案标记为解决方案,因此您的问题标记为Closed为什么没有分号?如果您只有一条语句,MySQL不需要分号。如果希望生成更多语句,可以在整个语句末尾添加一个分号。如果在中间插入一些分号,代码将失败。如果您认为合适,您可以向上投票或/并将此答案或其他答案标记为解决方案,因此您的问题标记为关闭为什么没有分号?如果您只有一条语句,MySQL不需要它们。如果希望生成更多语句,可以在整个语句末尾添加一个分号。如果在这中间插入一些分号,代码将失败。如果客户购买了多个产品怎么办?如果客户购买了多个产品怎么办?