gpt4 book ai didi

mysql - 在mysql中选择2行或更多行

转载 作者:行者123 更新时间:2023-11-29 12:16:39 24 4
gpt4 key购买 nike

我需要一个sql查询,从supplierX列中获取供应商价格,但我只想要有2个或更多价格进行比较的结果。对于 2 个供应商,我使用此代码:

select * 
from ps_product
join ps_product_lang on ps_product.id_product = ps_product_lang.id_product
join pricecompare on ps_product.id_product = pricecompare.id_product
where
supplier1 > 0 and supplier2 > 0
order by
ps_product.id_product desc

我如何为 6 个供应商做到这一点?

示例表:

id   prod_name  ref  supplier1   supplier2   supplier3   supplier4
------------------------------------------------------------------
12 abcd 123 0 0 0 12,00
13 sdsd 423 10,4 0 0 12,00
14 aaa 413 10,4 10,00 0 12,00

我想要的结果是:

13   sdsd    423    10,4    0      0      12,00 
14 aaa 413 10,4 10,00 0 12,00

我想要所有具有 2 个或更多供应商价格的产品线。

问候佩德罗

最佳答案

嗨,我同意 Andriy 的观点,设计被破坏了,你应该有单独的表供应商,你将拥有所有的供应商,然后将该表与所有这些以多对多的关系连接起来,但如果你想继续这种方式,你可以尝试做这样的事情:

SELECT *
FROM myTable
WHERE ((CASE WHEN supp1 > 0 THEN 1 ELSE 0 END) +
(CASE WHEN supp2 > 0 THEN 1 ELSE 0 END) +
(CASE WHEN supp3 > 0 THEN 1 ELSE 0 END) +
(CASE WHEN supp4 > 0 THEN 1 ELSE 0 END)) >= 2

这里是 SQL Fiddle,看看它是如何工作的:http://sqlfiddle.com/#!9/b96e5/21

GL!

关于mysql - 在mysql中选择2行或更多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29700566/

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