2010-12-15 4 views
0

I 3 개 테이블 SP_COMMENTS, SP_STEPS, SP_TRANSACTIONS이 경우에 기초하여 테이블을 조인 ID = 2

SP_COMMENTS 저장 주석이 여러 단계에 관련 될 수있다 코멘트 때문에 SP_STEPS

내에 저장되는 단계에 대해서 설명했다, I 모든 것을 추적하는 SP_TRANSACTIONS 테이블이 있어야합니다.

이 그들이 관련된 방법입니다

SP_COMMENTS.SP_COMMENTS_ID = SP_TRANSACTIONS.SP_TRANSACTIONS_COMMENT_ID 

SP_STEPS.SP_STEPS_ID = SP_TRANSACTIONS.SP_TRANSACTIONS_STEP_ID 

내가하고 싶은 것은 모든 의견을 표시입니다 WHERE SP_STEPS.SP_STEPS_ID = 2

내가 가지이해야 가입 어떤 결정에서 끔찍한이고 도움을 부탁드립니다 - 고맙습니다.

답변

2
SELECT columns 
FROM SP_COMMENTS c 
INNER JOIN SP_TRANSACTIONS t ON t.SP_TRANSACTIONS_COMMENT_ID=c.SP_COMMENTS_ID 
WHERE t.SP_TRANSACTIONS_STEP_ID=2 

또한, 당신의 이름 지정 규칙에 몇 가지 메모를 가지고 : 데이터베이스 세계에서 SP의 약어가 다른 (더 중요한을 가지고 있기 때문에

  • "SP"로 테이블 이름 서문 것은 나쁜입니다) 의미 : 저장 프로 시저. sp를 테이블 접두어로 사용하면 미래의 유지 관리 담당자를 혼동하게됩니다.
  • 거래 테이블의 이름도 잘못 지정되었습니다. 이 테이블은 귀하의 설명과 단계 테이블 사이에 교차입니다. 이는 다시 데이터베이스 컨텍스트에서 완전히 다른 것을 의미하는 트랜잭션이 아닙니다.
+1

추가 기능에 대해 더 이상 동의하지 않았습니다. 그게 OP 질문에 내게 붙어있는 첫 번째 일 이었어. – Nate

+0

나는 또한 우리의 분석가의 명명 컨벤션 (버스 아래 누구도 던지려고하지 않음)에 동의하지만 그렇다고 트랜잭션 테이블 이름이 내 일이라고 나는 동의한다. 빠른 응답에 감사드립니다. – Brad

관련 문제