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

标签 php mysql count

我有两个表 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/

相关文章:

php - HTML 表单 POST $_REQUEST 数据消失

php - 在我的 PHP 页面上限制我的 .csv 文件结果所需的分页

php - 适当的 Mac 开发人员。使用 Rails 和 PHP 的环境

php - MySQL查询条件中的大写和小写

php - PDO 绑定(bind)值不起作用(WHERE LIKE 语句)

mysql:如何从另一列创建日期列

mysql - 使 MySQL 查询使用 group by 语句选择最大时间戳

java - 如何使用正则表达式java查找两个字符串中的匹配字符

php - 左连接只返回一行

sql - 如何在 SQL Server 中的 select 语句中将表名作为参数传递