2013-05-01 98 views
-1

我想在MySQL 5.6的SQL语句:的MySQL 5.6列级查询

select Test=1 from ALL_FILES_INFO; 

但是我得到一个错误。

错误代码:在“字段列表”

1054未知列“测试”是一些这样的事

Select Name, 
     Amount=(select Amount from EmployeeAmount where EmployeeName=Name) 
from Employee; 

相同的代码正常运行在Microsoft SQL Server。

+2

也许这只是我的缺乏与SQL Server的熟悉,但什么是一个“*列级查询*”?你遇到了什么错误? – eggyal 2013-05-01 11:27:10

+0

这应该等于'SELECT Test FROM FROM ALL_FILES_INFO WHERE Test = 1'吗? – 2013-05-01 11:31:28

+0

如果你能告诉我们你得到了什么错误,那将会很好吗? – ajtrichards 2013-05-01 11:32:13

回答

2

SQL Server有一个陈述列别名的替代方式,这将尽我所能做完全相同的事情,并在MySQL和SQL Server上工作;

SELECT 1 AS Test from ALL_FILES_INFO; 

SQLFiddle for SQL Server
SQLFiddle for MySQL

1

你会过得比使用相关子查询您的加盟表:

SELECT Employee.Name, EmployeeAmount.Amount 
FROM Employee 
    JOIN EmployeeAmount ON EmployeeAmount.EmployeeName = Employee.Name