2014-03-29 5 views
0

빈 테이블에 대한 null 값을 표시하는 조인을 만들 수 있는지 궁금합니다.빈 테이블에 가입하는 방법

내가 이것을하고 싶은 이유는 사용자가 세션을 만들 수 있기를 원하기 때문입니다. 세션을 만들면 자동으로 ID가 증가합니다. 그런 다음 사용자는이 세션 ID를 사용하여 보트에 대한 값을 선택하여 중간 세션 보트 테이블을 통해 보트를 추가 할 수 있습니다.

누구나 SessionID, CoachID, FirstName (코치), Second Name (코치), Boat ID, 보트 이름과 같은 여러 테이블의 정보로 구성된 세션에 대한 관련 정보를 표시하는 조인을 볼 수 있습니다 .

일단 세션이 만들어지면 사용자가 세션 보트에 삽입 할 세션의 ID 번호를 보려면이 조인을 볼 수 있기를 바랍니다.

그러나이 시점에서 세션 보트가 아직 비어 있으므로 Join 테이블이 표시되지 않으므로 ID 번호를 찾을 수 없습니다.

나는 이미 왼쪽 조인과 외부 왼쪽 조인과 다른 것을 내가 세션 및 세션 보트에 가입하세요 생각할 수 있지만, 아무것도 지금까지 근무하지 않았다 사용하여 시도 ...

내가 얻을 수있는 방법은이 조인 빈 테이블이나 내가 사용할 수있는 다른 작업으로도 표시 할 수 있습니까?

미리 감사드립니다.

일반적인 규칙입니다
SELECT s.Session ID, s."Date Time", s."Crew ID", s."Coach ID", m."First Name", m.Surname, 
     sb."Boat ID", b."Boat Name", s."Launch ID" 
FROM "Session Boats" sb LEFT JOIN 
    Session s 
    ON s."Session ID" = sb."Session ID" LEFT JOIN 
    Boat b 
    ON sb."Boat ID" = b."Boat ID" LEFT JOIN 
    Coach c 
    ON s."Coach ID" = c."Coach ID" LEFT JOIN 
    Member m 
    ON c."Member ID" = m.ID; 

: 당신이 모든 행을 유지하려는 테이블로 시작

<asp:SqlDataSource ID="SqlDataSource2" runat="server"  ConnectionString="<%$    ConnectionStrings:Rowing ClubConnectionString %>" SelectCommand="SELECT   Session.SessionID,  Session.DateTime, Session.CrewID, Session.CoachID, Member.FirstName, Member.Surname,  SessionBoats.BoatID, Boat.BoatName, Session.LaunchID 
FROM   SessionBoats LEFT JOIN 
        Session ON Session.SessionID = SessionBoats.SessionID 
LEFT JOIN Boat ON SessionBoats.BoatID = Boat.BoatID 
LEFT JOIN Coach ON Session.CoachID = Coach.CoachID 
LEFT JOIN Member ON Coach.MemberID = Member.ID 
"></asp:SqlDataSource> 

답변

0

그런 다음 왼쪽 외부를 사용 Session Boats 모든 것을보고 싶다면 해당 테이블로 시작하는 조인 모든 테이블에 대해 왼쪽 조인을 계속합니다. 또한 테이블 별칭을 사용하여 쿼리를보다 쉽게 ​​읽을 수 있도록했습니다.

+0

감사합니다. Gordon, 그래도 작동하지 않습니다! 나는 ASP.net의 Gridview에 JOIN을 표시하고 있는데, 단서를 제공 할까? 모든 필드에 값이있는 JOINS 만 표시합니다. – Howlster

+0

식별자에 모두 공백이있는 것 같습니다. 이것은 매우 나쁜 생각입니다. 그들 모두에 큰 따옴표 나 무언가를 넣어야합니다. –

+0

예. 질문을 업로드 할 때 죄송합니다. 댓글을 입력하려고 할 때 사이트에서 오류가 발생하는 이유를 모르겠습니다. 나는 그것을 지금 새롭게 할 것이다. – Howlster

관련 문제