gpt4 book ai didi

php - 从另一个表 php 的值中对值进行排序

转载 作者:行者123 更新时间:2023-11-29 08:55:04 26 4
gpt4 key购买 nike

这是我的第一篇文章。

我正在尝试对产品表中显示的值与 products_categories 表中的值进行排序。

我的产品表包含以下字段:

id | psku | pname | pdescription

我的 products_categories 表具有以下字段:

id | psku | subcategory | orderid

我正在构建的网站是一个小型电子商店,其中包含几个子类别。此时的设置允许我将 1 个产品添加到多个类别。

例如,产品 sku# 6001 将列在 2 个子类别中:化妆品和睫毛。我的 products_subcategories 表中有 2 个条目,如下所示:

id | psku | subcategory | orderid
1 | 6001 | cosmetics | 1
2 | 6004 | eyelashes | 1
3 | 6003 | cosmetics | 2
4 | 6011 | cosmetics | 3
5 | 6020 | eyelashes | 2
6 | 6045 | cosmetics | 4

我当前正在使用以下查询来显示每个子类别中的数据:

SELECT * FROM products LEFT JOIN products_subcategories 
ON products.psku = products_subcategories.psku
WHERE products.psku IN ('6001','6003','6011','6020','6045')
GROUP BY e2o_products_subcategories.psku
ORDER BY e2o_products_subcategories.orderid ASC

这应该显示我的结果:

Cosmetics:
PSKU 6001
PSKU 6003
PSKU 6011
PSKU 6045

eyelashes:
PSKU 6004
PSKU 6020

这似乎不起作用。尝试了其他一些组合,结果最差。产品显示,但不会按 orderid 排序

有人可以解决这个问题吗?如果需要,我可以提供样本数据。

谢谢。

最佳答案

我查看了您创建的sampledata.php 文件。我正在努力理解你正在尝试做的事情。为什么要运行两个查询?当然,您可以通过单个查询获得相同的结果。

您的第一个查询将返回 pskus 列表,然后您将其传递给第二个查询 -

SELECT psku, subcategory
FROM products_subcategories
WHERE subcategory = 'cosmetics'

+------+-------------+
| psku | subcategory |
+------+-------------+
| 6018 | cosmetics |
| 6017 | cosmetics |
| 6022 | cosmetics |
| 6025 | cosmetics |
+------+-------------+

第二个查询是 -

SELECT DISTINCT products.*
FROM e2o_products
INNER JOIN e2o_products_subcategories
ON e2o_products.psku = e2o_products_subcategories.psku
WHERE e2o_products.pstatus = '1'
AND e2o_products.psku IN (6018,6017,6022,6025)
GROUP BY e2o_products.psku
ORDER BY e2o_products_subcategories.dsporder DESC

鉴于您只是从产品表中检索字段,您可以这样做 -

SELECT p.*
FROM products p
INNER JOIN products_subcategories ps
ON p.psku = ps.psku
WHERE p.pstatus = 1
AND ps.subcategory = '$subcat'
ORDER BY ps.dsporder DESC

关于php - 从另一个表 php 的值中对值进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10151717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com