在SQL中联接来自2个表的数据

在SQL中联接来自2个表的数据,sql,join,Sql,Join,我有两张表:订单和订单产品。它们看起来像这样 Order table order_product order_id customer_id order_id product_name 1 1 1 pr1 2 1 1

我有两张表:订单和订单产品。它们看起来像这样

 Order table                            order_product
 order_id   customer_id                 order_id      product_name
 1          1                           1             pr1
 2          1                           1             pr2
 3          2                           2             product1
 4          1                           2             product2
                                        3             product1
                                        4             product1
我需要获得有关产品的信息。假设我搜索product1(product_name)和customer 1(customer_id)的订单。我将如何执行这样的搜索?抱歉,如果这是一个愚蠢的问题,但我是SQL查询的初学者…

这可能会对您有所帮助

select o_t.order_id, o_t.customer_id, o_p.product_name from 
(select order_id, customer_id from order_table) o_t,
(select order_id, product_name from order_product where product_name = '{filter}') o_p
where o_t.order_id = o_p.order_id

根据您想在
where
条款中搜索的内容添加产品名称

您尝试了什么?首先查看如何使用
join
…您是否已经学习了包含join使用的SQL教程?如果你有,答案应该相当清楚,或者至少足够清楚,让你尝试一下。如果你先做了一些基本的努力来解决自己的问题,我们很乐意为你提供帮助,但你是否做了最基本的研究还不清楚。我们的工作不是教你SQL最简单的部分,你已经可以在很多地方了解到这一点。这里提供了进行连接的文档语法是
select from表t join order\u product op on t.order\u id=op.order\u id
,在许多情况下,你可能希望使用左连接(参见文档)我已经学会了连接的基本知识。但问题是这两个连接在这里都不起作用。因为两个表都有交叉匹配,所以简单的连接查询返回第一个匹配的结果-1行,而我需要返回多行:customer_id=x和product_name=y的所有订单。嗨,很抱歉,这也不起作用…这就是我得到的;“选择o.order_id,o.date_added,op.name FROM(选择order_id,o.date_added FROM.”DB_PREFIX.“order_id,name FROM.”DB_PREFIX.“order_产品,其中名称如'bouw%')op其中o.order_id=op.order_id”@Aleksandrachumpha好的,你得到了什么输出?如果你能再次给出输出,那将是很有帮助的。我已经解决了这个问题。我的错。查询比问题中更复杂,其中一个参数的数据类型不正确。我应该是整数,它以字符串的形式传递给表单。当我发现它并把它弄清楚时,一切都解决了。