문제

table1 열을 테이블 2의 2개 열로 어떻게 참조합니까?

'라는 테이블을 만들었습니다.상태' 50개의 정확한 행 포함

'에서 (weddingState,contactState)를 연결하려고 합니다.혼례' 테이블

이건 제가 만든 성명인데 상위에만 조인되네요 결혼식상태 올바르게 - 그 아래의 INNER Join에 신경 쓰지 않는 것 같습니다 ...

선택하다 *

결혼식에서

INNER JOIN은 s1 ON weddings로 나타납니다.결혼식상태 = s1.StateId //결혼 상태

INNER JOIN 상태는 s2 ON weddings.ContactState = s2.StateId //신부의 연락처 상태입니다.

어디에서 weddings.weddingid="094829292"

도움이 되었습니까?

해결책

나는 당신이 PHP 또는 무언가에서 이것을 검색하고 있다고 생각합니다. 그리고 당신은 필드 이름으로 키를 뿌린 해시 어레이로 행을 가져오고 있습니다. 물론 주어진 키가있는 해시에 하나의 요소 만있을 수 있습니다. 따라서 열 별명을 사용하여 동일한 이름을 가진 열에 별개의 별칭이 제공되도록해야합니다.

SELECT w.*, s1.StateID AS wstate, s2.StateId AS cstate
FROM weddings AS w
INNER JOIN states AS s1 ON w.WeddingState = s1.StateId //state of marriage
INNER JOIN states AS s2 ON w.ContactState = s2.StateId //contact state of bride
WHERE w.weddingid="094829292";

이제 해시 어레이에는 "WSTATE"및 "CSTATE"키가 있습니다. 이 열을 별조하지 않으면 하나는 항상 다른 것을 덮어 씁니다.

다른 팁

그리고 당신을 결론으로 ​​이끄는 결과로 당신은 무엇을 얻고 있습니까?

두 조인의 필드 이름과 기본 테이블의 일부 필드 이름이 동일하기 때문에 처음에는 혼란스러울 것입니다.출력 열을 명시적으로 선택하고 의미 있는 별칭을 지정하는 것은 정말 좋은 생각입니다.

어때요 :

S1.StateName, S2.StateName을 선택하십시오

결혼식에서

내부 결합 상태는 결혼식에서 s1으로 상태를 wed.weddingstate = s1.stateid // 결혼 상태

내부 결합 상태는 결혼식에서 S2로 상태를 as

where weddings.weddingid = "094829292"

감사합니다

w.*,

s1.StateId AS WeddingStateId,

s1.StateName AS WeddingStateName,

s2.StateId AS ContactStateId,

s2.StateName AS ContactStateName

결혼식에서 w

내부 조인은 W.weddingstate = s1.stateid에서 S1로 상태를 유지합니다

내부 조인은 W.ContactState = S2.StateId에서 S2로 상태 상태입니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top