SQL 变量使用简单 table
SQL Variables use in simple table
select
MITARBEITER.NAME,
MITARBEITER.GEHALT
from
MITARBEITER
where MITARBEITER.GEHALT = @minGehalt
DECLARE @minGehalt as INT
SET @minGehalt = (SELECT MIN(MITARBEITER.GEHALT) FROM MITARBEITER)
EXEC @minGehalt
@minGehalt 是一个数字
我的问题是它说它没有声明
您需要在使用前声明变量。这应该有效:
DECLARE @minGehalt as INT
SET @minGehalt = SELECT MIN(MITARBEITER.GEHALT) FROM MITARBEITER
SELECT
MITARBEITER.NAME,
MITARBEITER.GEHALT
FROM
MITARBEITER
WHERE
MITARBEITER.GEHALT = @minGehalt
(我没有对此进行测试,因为我没有可用的 MySQL 实例,但这应该可以解决问题)
使用 @
登录查询意味着您正在使用参数。参数需要使用DECLARE
命令声明:
DECLARE @minGehalt int;
您也可以使用SET
命令设置值:
DECLARE @minGehalt int;
SET @minGehalt = 1234;
select
.....
或者在你的例子中:
DECLARE @minGehalt as INT
SET @minGehalt = SELECT MIN(MITARBEITER.GEHALT) FROM MITARBEITER
select MITARBEITER.NAME,MITARBEITER.GEHALT
from MITARBEITER
where MITARBEITER.GEHALT = @minGehalt
DECLARE @minGehalt as INT
DECLARE @maxGehalt as INT
DECLARE @minName as varchar(30)
DECLARE @maxName as varchar(30)
SET @minGehalt = (SELECT MIN(MITARBEITER.GEHALT) FROM MITARBEITER)
SET @maxGehalt = (SELECT MAX(MITARBEITER.GEHALT) FROM MITARBEITER)
SET @minName = (SELECT MITARBEITER.NAME FROM MITARBEITER WHERE MITARBEITER.GEHALT = @minGehalt)
SET @maxName = (SELECT MITARBEITER.NAME FROM MITARBEITER WHERE MITARBEITER.GEHALT = @maxGehalt)
select
concat(@minName, ' ', @minGehalt) as 'Minimaler Gehalt',
concat(@maxName, ' ', @maxGehalt) as 'Maximaler Gehalt'
就这样,谢谢大家!
select
MITARBEITER.NAME,
MITARBEITER.GEHALT
from
MITARBEITER
where MITARBEITER.GEHALT = @minGehalt
DECLARE @minGehalt as INT
SET @minGehalt = (SELECT MIN(MITARBEITER.GEHALT) FROM MITARBEITER)
EXEC @minGehalt
@minGehalt 是一个数字
我的问题是它说它没有声明
您需要在使用前声明变量。这应该有效:
DECLARE @minGehalt as INT
SET @minGehalt = SELECT MIN(MITARBEITER.GEHALT) FROM MITARBEITER
SELECT
MITARBEITER.NAME,
MITARBEITER.GEHALT
FROM
MITARBEITER
WHERE
MITARBEITER.GEHALT = @minGehalt
(我没有对此进行测试,因为我没有可用的 MySQL 实例,但这应该可以解决问题)
使用 @
登录查询意味着您正在使用参数。参数需要使用DECLARE
命令声明:
DECLARE @minGehalt int;
您也可以使用SET
命令设置值:
DECLARE @minGehalt int;
SET @minGehalt = 1234;
select
.....
或者在你的例子中:
DECLARE @minGehalt as INT
SET @minGehalt = SELECT MIN(MITARBEITER.GEHALT) FROM MITARBEITER
select MITARBEITER.NAME,MITARBEITER.GEHALT
from MITARBEITER
where MITARBEITER.GEHALT = @minGehalt
DECLARE @minGehalt as INT
DECLARE @maxGehalt as INT
DECLARE @minName as varchar(30)
DECLARE @maxName as varchar(30)
SET @minGehalt = (SELECT MIN(MITARBEITER.GEHALT) FROM MITARBEITER)
SET @maxGehalt = (SELECT MAX(MITARBEITER.GEHALT) FROM MITARBEITER)
SET @minName = (SELECT MITARBEITER.NAME FROM MITARBEITER WHERE MITARBEITER.GEHALT = @minGehalt)
SET @maxName = (SELECT MITARBEITER.NAME FROM MITARBEITER WHERE MITARBEITER.GEHALT = @maxGehalt)
select
concat(@minName, ' ', @minGehalt) as 'Minimaler Gehalt',
concat(@maxName, ' ', @maxGehalt) as 'Maximaler Gehalt'
就这样,谢谢大家!