gpt4 book ai didi

php - Mysql-根据特定条件从两列中选择

转载 作者:行者123 更新时间:2023-11-29 18:39:08 26 4
gpt4 key购买 nike

我有两个表 Table1 和 Table2,它们通过 xid 和 Yid 相互连接。

表1

xid(int)    category(varchar)       subcat(varchar)

1 Venue Resort
2 Venue Resort
3 Venue Resort
4 Venue Resort
5 Venue Resort
6 Venue Resort
7 Venue Banquet Hall
8 Venue Resort
9 Apparel Designer

表2

Yid(int)    minp(varchar)           maxp(varchar)

1 800 1000
2 900 1200
3 1100
4 1300 1600
5 1800
6 800 2000
7 800 1000
8 1500 2100
9 15000 60000

我将这些供应商分为三类,第一类供应商的价格低于卢比。 1000。第二类是价格低于1500和超过1000的供应商。价格超过1500为第三类。目前我仅与 maxp 比较价格,它对我有用。

我用来与 maxp 进行比较的查询是

SELECT xid from Table1,Table2 WHERE
Table1.xid=Table2.Yid
AND category='venue'
AND subcat='Resort'
AND maxp<=1000

我得到的输出是

xid

1
7

现在我想将价格与 minp 和 maxp 进行比较,我想计算并获取所有那些 minp 或 maxp 小于 1000、在 1000 到 1500 之间、大于 1500 的 xid。

预计产出低于卢比。 1000

xid

1
2
6
7

预计产出超过卢比。 1000 且小于等于 1500

xid

2
3
4
8

注意:由于某些原因,我无法将 minp 和 maxp 的数据类型从 varchar 更改为 int 或 long,如果 minp 为空则不与其进行比较。

提前致谢...

最佳答案

您需要根据预期结果检查两列。

SELECT xid 
from Table1
INNER JOIN Table2
ON Table1.xid=Table2.Yid
Where category='venue'
AND subcat='Resort'
AND (minp<=1000 or minp<=1000)
and minp <> ''

找到卢比。 1000 且小于等于 1500

SELECT xid 
from Table1
INNER JOIN Table2
ON Table1.xid=Table2.Yid
Where category='venue'
AND subcat='Resort'
AND (minp > 1000 or maxp > 1000) and (minp <= 1500 or maxp <= 1500)
and minp <> ''

注意:开始使用INNER JOIN语法而不是旧式逗号分隔连接

关于php - Mysql-根据特定条件从两列中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45050348/

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