gpt4 book ai didi

php - mysql 按另一个表字段值中包含的字段名排序

转载 作者:行者123 更新时间:2023-11-30 00:21:58 25 4
gpt4 key购买 nike

我有一个搜索查询,我需要按另一个表字段值中包含的字段进行排序。可能不是很清楚:)

考虑一下:

        $requete = "
SELECT A.*,
(SELECT payspan FROM Categories WHERE id=A.category_id) AS SortingFieldName
FROM Annonces A
JOIN Categories C ON C.id=A.category_id
WHERE A.deleted=0
ORDER BY SortingFieldName";

我想这样订购,但它不起作用:按 A.SortingFieldName 排序

SortingFieldName 将包含字段的名称,但不包含 Annonce 表中该字段的值。

如何获取该字段的值然后按顺序排序?

我尝试了一个变量,但似乎无法在查询中使用变量...

为了简单起见,我想按“类别”中配置的字段对“公告”行进行排序。

就像,如果我有公告:id,名称,category_id,price_day,price_month

在类别中:ID、名称、价格字段

我想根据类别的配置在Annonce中以price_month或price_day的值对行进行排序。

感谢您的帮助。

最佳答案

使用这个:

ORDER BY CASE SortingFieldName
WHEN 'field1' THEN field1
WHEN 'field2' THEN field2
WHEN 'field3' THEN field3
...
END

field1field2 等替换为实际字段名称。

如果您无法列出所有可能的字段名称,则必须使用动态 SQL 编写。

关于php - mysql 按另一个表字段值中包含的字段名排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23163059/

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