gpt4 book ai didi

php - 仅当满足两个条件时才在单个sql语句中选择两行

转载 作者:搜寻专家 更新时间:2023-10-30 20:01:46 27 4
gpt4 key购买 nike

我有一个包含以下数据的表格。

table name: myTable

prodID   catNo   variable1  variable2
1 20 Cat Blue
2 10 Cat Red
2 15 Cat Green
2 20 Cat Black
3 20 Cat Yellow
4 10 Cat Orange
4 15 Cat Brown
4 20 Cat Black
5 30 Cat Pink

我希望能够从 myTable 中选择满足以下条件的所有列
"(prodID = 2 and catNo = 10) AND (< strong>prodID = 2 和 catNo = 15)”。因此,仅当满足两个条件时才获取两行的结果,如果两行都不存在,则不会返回任何结果。所以我的结果表将如下所示。

table name: results

prodID   catNo   variable1  variable2
2 10 Cat Red
2 15 Cat Green

我试过使用条件 if 语句,但似乎无法让它们在 sql 中工作。我目前的解决方案是取回 prodID = 2 的所有行,然后使用 php 执行 if 语句来决定显示什么,但这不适用于我为显示结果而设计的分页,因为我的限制会扭曲每页的结果数。我知道我可以使用“having count rows=2”,但我不确定如何表达。

最佳答案

如果您只想在 catNo (10,15) 中找到记录时获得结果,但如果您在 (10,12) 中查找 catNo 时也返回 0 结果

SELECT * FROM `myTable` 
WHERE (`prodID` = 2 AND `catNo` IN (10,15))
AND (SELECT COUNT(`catNo`) FROM `myTable` WHERE `prodID` = 2 AND `catNo` IN (10,15))>1;

对于三个 CatNo 的

SELECT * FROM `myTable` 
WHERE (`prodID` = 4 AND `catNo` IN (10,15,20))
AND (SELECT COUNT(`catNo`) FROM `myTable` WHERE `prodID` = 4 AND `catNo` IN (10,15,20))>2;

SQL Fiddle

关于php - 仅当满足两个条件时才在单个sql语句中选择两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27919538/

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