2014-09-29 2 views
0

SQL 문에 어떤 문제가 있습니까? 구문 오류 (누락 된 연산자)라는 메시지가 나타납니다. ASSIGNMENT TABLE에서 ASSN_TRANS_STATE_NUM = '1'인 모든 행을 선택하려고합니다. 각 행에 대해 프로젝트 이름을 PROJECTS 테이블에서 가져 오려고합니다. 또한 TASKS 테이블에서 각 작업 이름을 가져 오려고합니다. 나는이 일을 더 일찍 시작했는데 (어떤 변화를 만들 었는지 확신 할 수 없다.) 그러나 일을했을 때에도 그것이 정확하지 않았다. 그것은 단지 프로젝트에 특정한 작업을 제공하는 대신 각 프로젝트마다 모든 작업을보고했습니다.구문 오류 - 누락 된 연산자 - 누락 된 항목을 확인할 수 없습니다.

SELECT 
    TRANS.PROJ_UID, 
    PROJ.PROJ_NAME, 
    TRANS.TASK_UID, 
    TASKS.TASK_NAME, 
    TRANS.ASSN_TRANS_STATE_ENUM, 
    TRANS.ASSN_TRANS_APPROVER_RES_UID 
FROM dbo_MSP_ASSIGNMENT_TRANSACTIONS TRANS 
INNER JOIN dbo_MSP_PROJECTS PROJ ON PROJ.PROJ_UID = TRANS.PROJ_UID 
INNER JOIN dbo_MSP_TASKS TASKS ON TASKS.TASK_UID = TRANS.TASK_UID 
WHERE TRANS.ASSN_TRANS_STATE_ENUM = 1; 
+2

어떤 데이터베이스가 있습니까? 'sql' 'ide/gui'편집자 중 한 곳에서 쿼리를 실행 해 보았습니까? 즉 MySql : phpmyadmin, SQLite : '전문가 개인', Oracle : 'SQLDeveloper, Toad'등 –

+2

'dbo_'또는 'dbo'여야합니다. 테이블 이름에? – thursdaysgeek

+0

'dbo_'접두어는 'dbo_MSP_ASSIGNMENT_TRANSACTIONS'에서 제공됩니까? 즉 이름이 '소문자'이고 나머지 이름이 '대문자'가 아닌 이유는 무엇입니까? '대소 문자'에 의존하는 일부 데이터베이스 엔진은 또한 데이터베이스 '엔티티'이름에 대소 문자를 혼합하여 사용하는 것이 유지 관리를 더욱 어렵게 만듭니다. –

답변

0

dbo가됩니다. dbo_보다는. 도움이 될 것 같아요

SELECT 
    TRANS.PROJ_UID, 
    PROJ.PROJ_NAME, 
    TRANS.TASK_UID, 
    TASKS.TASK_NAME, 
    TRANS.ASSN_TRANS_STATE_ENUM, 
    TRANS.ASSN_TRANS_APPROVER_RES_UID 
FROM dbo.MSP_ASSIGNMENT_TRANSACTIONS TRANS 
INNER JOIN dbo.MSP_PROJECTS PROJ ON PROJ.PROJ_UID = TRANS.PROJ_UID 
INNER JOIN dbo.MSP_TASKS TASKS ON TASKS.TASK_UID = TRANS.TASK_UID 
WHERE TRANS.ASSN_TRANS_STATE_ENUM = 1; 
+0

@Dennis Kattengell, 도움이 되었습니까? –

관련 문제