2010-03-28 3 views
15

을 바인딩 할 수 없습니다 난 비주얼 스튜디오 2008에서 실행하려고 할 때다중 부분 식별자가 나는이 아주 간단한 SQL 문이

SELECT  max_dose 
FROM   psychotropes 
WHERE  (patient_meds.psychotrope = psychotrope_name) AND (patient_meds.patient_id = 12) 

을, 그것은 "멀티 파트 'patient_meds.psychotrope 알려줍니다 내가 그림 뷰어에서 두 테이블 간의 관계를 설정 않았기 때문에 '식별자는

이 이상해 "구속 수 없습니다

답변

16

난 당신 같은 테이블 목록에 patient_meds을 포함 할 것 같아요

FROM psychotropes, patient_meds 
+0

mg. 나는이 실수를했다는 것을 믿을 수 없다. 글쎄, 몇 달이 지난 후에 조인을 건드리지 않았다 ... thx 남자 – jello

+2

이것은 오래된 스타일의 조인입니다 ... 나쁜 형식입니다. JOIN 키워드 사용에 대한 durilai의 대답을 참조하십시오. – gbn

+0

@gbn 및 어디에 ** JOIN 키워드에 대한 durilai의 답변 ** –

9

쿼리에 테이블을 포함하지 않습니다. 스키마를 모른 채로 이것은 단지 가정 일뿐입니다. 또한 데이터베이스 다이어그램은 쿼리를 지원하지 않습니다.

SELECT ax_dose 
FROM psychotropes 
INNER JOIN patient_meds ON psychotropes.psychotrope_name = patient_meds.psychotrope 
WHERE (patient_meds.patient_id = 12) 
+0

"데이터베이스 다이어그램에서도 쿼리를 지원하지 않습니다."두 테이블을 외래 키와 함께 연결하지 않아도됩니다. – jello

+2

@jello : 기술적으로 대부분의 RDBMS에서, 아니오. 그래도 여전히 좋은 생각입니다. –

+0

@durilai : ERD는 동일한 정보를 얻기 위해 여러 개의 'DESC 테이블'명령을 실행하지 않아도됩니다. –

관련 문제