2016-02-24 58 views
0

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

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

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

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

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

谢谢问候

+0

请参阅:http://stackoverflow.com/questions/10070406/how-to-store-query-result-in-variable-using-mysql –

+0

为什么不把它们混合在一起? – sagi

回答

2

你可以尝试这样的:

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') 
0
declare @var varchar(50); 
SELECT @var = 'US' 
SELECT * FROM Country where Name NOT LIKE @var 
0

你可以做什么结果存储在一个变量表或临时表中,这样的事情:

SQL服务器:

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),...) 

然后把结果我n个表#TEMP或table1的

SQL服务器

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

MySQL的

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

然后你就可以用这两个表玩,使不同的操作(例如,使连接)