在SQL中保存变量

时间:2016-02-24 13:27:50

标签: mysql

我有办法将my SELECT语句返回的值保存到SQL中的变量吗?

这就是我想要做的,首先我要SELECT我要检查的所有列,所以在这种情况下ItemNames ItemCategory美国的项目。

SELECT `ItemName` where `ItemCategory´= 'US'

然后我想将ItemName从上面的语句保存到SQL中的变量中,以便稍后在同一查询中使用它。像这样:

SELECT `DatabaseID` where `Project` NOT LIKE `myVariable`

谢谢你

3 个答案:

答案 0 :(得分:3)

您可以尝试这样:

SELECT `ItemName` into @myVar FROM mytable where `ItemCategory´= 'US';

SELECT @myVar := `ItemName` FROM mytable where `ItemCategory´= 'US'

但是,您可以将查询组合成如下所示:

SELECT `DatabaseID` from mytable 
where `Project` NOT IN (SELECT `ItemName` where `ItemCategory´= 'US')

答案 1 :(得分:1)

declare @var varchar(50);
SELECT @var = 'US' 
SELECT * FROM Country where Name NOT LIKE @var

答案 2 :(得分:0)

您可以做的是将结果存储在变量表或临时表中,如下所示:

SQL Server:

create table #Temp
(
    ItemName As Varchar(50)
    --col2 AS Int, 
    --col3 As Varchar(20)
    --...
)

<强>的MySQL

CREATE TEMPORARY TABLE IF NOT EXISTS table1 (ItemName VARCHAR(50)) -- You can add more columns: (ItemName VARCHAR(50), col2 int NOT NULL DEFAULT 0, col3 VARCHAR(20),...)

然后将结果放在表#Temp或table1

SQL Server

Insert Into #Temp SELECT ItemName FROM mytable where ItemCategory= 'US';

<强>的MySQL

Insert Into table1 SELECT ItemName FROM mytable where ItemCategory= 'US';

然后你可以玩两个表并进行不同的操作(例如make join)