2013-05-01 6 views
-1

내가 MySQL을 5.6에서 다음과 같은 SQL을 시도하고있다 : MySQL의 5.6 열 수준의 쿼리

select Test=1 from ALL_FILES_INFO; 

그러나 나는 오류를 얻고있다.

오류 코드 : '필드 목록'

에서 1054 알 수없는 열 '테스트'는 동일한 코드는 마이크로 소프트 SQL 서버에서 제대로 실행이

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

같은 일부 것입니다.

+2

아마는 SQL 서버에 대한 지식의 내 부족,이다 그러나 무엇을 "* 열 수준 쿼리 *"? 어떤 오류가 발생하고 있습니까? – eggyal

+0

이것은'SELECT Test FROM ALL_FILES_INFO WHERE Test = 1'과 같아야합니까? –

+0

어떤 오류가 발생했는지 알려주면 좋을까요? – ajtrichards

답변

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