gpt4 book ai didi

php - mysql 联合或只加入一个查询

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

我需要找到一种更好的方法来根据客户拥有的价格表或价格表/折扣表在我们的网上商店中获得每件商品价格的折扣。我认为这只需要一个查询就可以完成,而不是我今天的 5 个查询,但我真的不知道从哪里开始。

我们所有的客户都有价目表,有些客户既有价目表又有一张额外的折扣表。今天,我们有大约 25 个不同的价格表和大约 100 个额外的折扣表。所有价目表的结构都相同;他们有一个价格组和百分比折扣。

例如价目表 01 可能看起来像

20

B 35

二十世纪

额外折扣列表以不同的方式构建,可以有固定的价格或百分比。它还具有三个不同的优先级:基于商品代码的折扣(优先级为 1)、基于类别的折扣(优先级为 2)和基于价格组的折扣(优先级为 3)。

折扣列表 0013 可能如下所示:

在文章标签中

PL-2344-444 40 (%)

P-0455-23 200(瑞典克朗)

在类别标签中

C12 50 (%)

N12 35 (%)

今天我有三个不同的查询来查看我是否在折扣列表中获得成功:

首先,我检查是否在优先级 1 中命中:(FIXED 返回 f 和 PERCENTAGE r)

SELECT DISCOUNT, FIXED, PERCENTAGE FROM PUPRIREG 
WHERE ARTCODE = 'JO-23455' AND DISCOUNTLIST = '0013'

如果以上返回 0,我执行第二个查询,优先级 2:

SELECT DISCOUNT, FIXED, PERCENTAGE FROM PUPRIREG 
WHERE CATEGORY = 'C15' AND DISCOUNTLIST = '0013'

最后一个优先级为3:

SELECT DISCOUNT, FIXED, PERCENTAGE FROM PUPRIREG 
WHERE PRICEGROUP = 'F' AND DISCOUNTLIST = '0013'

如果没有额外的折扣列表返回 0 我从价目表中获得折扣

从 PUPRIREG 中选择折扣,其中 PRICELIST = '01' 和 PRICEGROUP = 'F'

我调用函数如下$discount = discount($articlecode, $category, $pricegroup);

function discount($articlecode, $category, $pricegroup){

$articlecode = sanitizingData($articlecode);

$category = sanitizingData($category);

$pricegroup = sanitizingData($pricegroup);

// do priority 1

// prio 2

// prio 3

// pricelist

return $discount;

}

如果有人能告诉我如何做到这一点,我会很高兴。我正在使用 mysqli 和 php。

非常感谢

问候琳达

最佳答案

您可以使用联合进行查询:

(SELECT DISCOUNT, FIXED, PERCENTAGE, 1 priority FROM PUPRIREG 
WHERE ARTCODE = 'JO-23455' AND DISCOUNTLIST = '0013')
union
(SELECT DISCOUNT, FIXED, PERCENTAGE, 2 priority FROM PUPRIREG
WHERE CATEGORY = 'C15' AND DISCOUNTLIST = '0013')
union
(SELECT DISCOUNT, FIXED, PERCENTAGE, 3 priority FROM PUPRIREG
WHERE PRICEGROUP = 'F' AND DISCOUNTLIST = '0013')
union
(SELECT DISCOUNT, 0 fixed, 0 percentage, 4 priority FROM PUPRIREG
WHERE PRICELIST = '01' AND PRICEGROUP = 'F')
order by priority;

额外的人工 priority 列和排序方式确保您获得正确排序的折扣。

关于php - mysql 联合或只加入一个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13001795/

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