Php 在一个查询中从多个表中提取数据并将数据匹配在一起
好的,我需要查询两个sql表,它们是product和product_to_category 产品看起来像 产品类别看起来像 我试图查询这两个表,以便可以选择某个类别编号中的所有表,即产品类别中的所有表,也可以选择状态为1的所有表,以确定它们是否处于活动状态。我试图在一个查询中实现这一点,到目前为止,我的查询类似于下面的查询,问题是我不确定如何将产品id匹配在一起,以实现我想要的效果。有人能告诉我怎么做吗Php 在一个查询中从多个表中提取数据并将数据匹配在一起,php,sql,Php,Sql,好的,我需要查询两个sql表,它们是product和product_to_category 产品看起来像 产品类别看起来像 我试图查询这两个表,以便可以选择某个类别编号中的所有表,即产品类别中的所有表,也可以选择状态为1的所有表,以确定它们是否处于活动状态。我试图在一个查询中实现这一点,到目前为止,我的查询类似于下面的查询,问题是我不确定如何将产品id匹配在一起,以实现我想要的效果。有人能告诉我怎么做吗 mysql_query("SELECT * FROM product,product_to_
mysql_query("SELECT * FROM product,product_to_category WHERE product.status = 1 AND product_to_category.category_id = 35 ORDER BY product.sort_order ASC")
试试这个:
mysql\u querySELECT*从product.product\u id=product\u上的product JOIN product\u to\u category到product.product\u id,其中product.status=1,product\u to\u category.category\u id=35 ORDER BY product.sort\u ORDER ASC您应该使用连接
选择*
来自产品p
内部连接产品到类别pc
在p.productid=pc.productid上
其中p.status=1
和pc.category_id=35
按p.sort\u ORDER ASC订购
由于您不熟悉联接,我建议您阅读以下内容:
SQL联接的直观说明:
这应该能奏效。确保查看联接及其不同类型尝试:
SELECT * FROM product
INNER JOIN product_to_category ON (product.product_id = product_to_category.product_id)
WHERE
product_to_category.category_id = 35
AND
product.status = 1
尝试以下查询。这更容易理解
SELECT * FROM
product a
JOIN product_to_category b ON a.product_id = b.product_id
WHERE
a.stock_status_id = 1
AND b.category_id = 35;
谢谢,这帮了大忙,我以前从来没有听说过JOIN。谢谢,这帮了大忙,我以前从来没有听说过JOIN。既然你以前没有听说过JOIN,我建议用它来帮助学习。谢谢,这帮了大忙,我以前从来没有听说过JOIN。
SELECT * FROM
product a
JOIN product_to_category b ON a.product_id = b.product_id
WHERE
a.stock_status_id = 1
AND b.category_id = 35;