gpt4 book ai didi

php - Mysql 按 2 列排序,分别代表价格和新价格

转载 作者:行者123 更新时间:2023-11-29 11:19:42 25 4
gpt4 key购买 nike

我有两列产品price(代表正常价格)和new_price(代表产品报价)。当我按价格订购它们时,如果两列都已填满,我将无法获得正确的订单。现在,它首先按新价格排序,然后按价格排序。我想以某种方式连接价格。

if($order==1)
{
$order_by='Produse.New_price ASC,Produse.Price ASC';
}

if($order==2)
{
$order_by='Produse.New_Price DESC,Produse.Price DESC';
}

if($order==3)
{
$order_by='Produse.Nume_Prod ASC';
}

if($order==4)
{
$order_by='Produse.Nume_Prod DESC';
}

if($order==0)
{
$order_by='Produse.Nume_Prod DESC';
}
$stmt=$dbh->prepare("Select * FROM Produse
INNER JOIN Categorii on Produse.ID_Categorie=Categorii.ID_Categorie
where Categorii.Nume_Categ=:id
ORDER BY $order_by");
$stmt->bindParam(':id',$id,PDO::PARAM_INT);
$stmt->execute();

最佳答案

如果存在新价格(不为空),则使用 Coalesce 按新价格排序,如果新价格为空,则按价格排序...

if($order==1)
{
$order_by='coalesce(Produse.New_price,Produse.Price) ASC';
}
if($order==2)
{
$order_by='Coalesce(Produse.New_Price,Produse.Price) DESC';
}
if($order==3)
{
$order_by='Produse.Nume_Prod ASC';
}
if($order==4)
{
$order_by='Produse.Nume_Prod DESC';
}
if($order==0)
{
$order_by='Produse.Nume_Prod DESC';
}
$stmt=$dbh->prepare("Select * FROM Produse
INNER JOIN Categorii on Produse.ID_Categorie=Categorii.ID_Categorie
where Categorii.Nume_Categ=:id
ORDER BY $order_by");
$stmt->bindParam(':id',$id,PDO::PARAM_INT);
$stmt->execute();

关于php - Mysql 按 2 列排序,分别代表价格和新价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39131164/

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