Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 当条件正确时,输出应为字符串_Mysql_Sql_Select_Alias - Fatal编程技术网

Mysql 当条件正确时,输出应为字符串

Mysql 当条件正确时,输出应为字符串,mysql,sql,select,alias,Mysql,Sql,Select,Alias,我这里有个小问题。我有以下选择 SELECT ProjektName, Budget FROM projekt p1 WHERE p1.Budget=( SELECT MAX(p2.Budget) FROM projekt p2 ) UNION SELECT ProjektName, Budget FROM projekt p1 WHERE p1.Budget=( SELECT MIN(p2.Budget) FROM projekt p2 ) 这带来了这一结果: Pr

我这里有个小问题。我有以下选择

SELECT ProjektName, Budget  FROM projekt p1  WHERE p1.Budget=(
    SELECT MAX(p2.Budget) FROM projekt p2
)
UNION
SELECT ProjektName, Budget   FROM projekt p1  WHERE p1.Budget=(
    SELECT MIN(p2.Budget) FROM projekt p2
)
这带来了这一结果:

Projektname     Budget
projekt1        100000
projekt2        30000
但是我想写一个字符串来代替这个值,比如“这是最大预算”

像这样:

Projektname     Budget
projekt1        This is the max Budget
projekt2        This is the min Budget
到处搜索,但仅在选择中找到更改预算的解决方案,而不是结果


提前谢谢你

只需在
SELECT
列表中输入一个文本字符串即可

SELECT ProjektName, 'This is the max Budget' AS Budget  
FROM projekt p1  
WHERE p1.Budget=(
    SELECT MAX(p2.Budget) FROM projekt p2
)
UNION
SELECT ProjektName, 'This is the min Budget' AS Budget   
FROM projekt p1  
WHERE p1.Budget=(
    SELECT MIN(p2.Budget) FROM projekt p2
)

使用
CONCAT

SELECT ProjektName, CONCAT ('This ' , Budget , ' is the max Budget') as Budget  FROM projekt p1  WHERE p1.Budget=(
    SELECT MAX(p2.Budget) FROM projekt p2
)
UNION
SELECT ProjektName, CONCAT ('This ' , Budget , ' is the min Budget') as Budget   FROM projekt p1  WHERE p1.Budget=(
    SELECT MIN(p2.Budget) FROM projekt p2
)

如果两个项目具有相同的最大值或最小值,则第一个查询有效value@1010如果您认为这是因为
UNION
删除了重复项,那么这不是问题,因为字符串不同。否。我的意思是,可以有两个项目具有相同的最大值。OP的查询会同时显示为第一个查询,但第二个查询不会。哦,对了,我总是忘记那些极端情况。使用Concat,如下面的答案,问题说他想在字符串中输入
Budget
的值吗?
MySQL
Budget
隐式转换为字符串,所以我用一个
int
字段来检查它,铸造工作很好,但是取决于预算字段的类型,也许你需要自己铸造它。