2011-11-07 5 views
0

두 테이블이 있습니다.C#/SQL 조인 문제

Table 1: supportstatus 

clientid 
company 
status 

Table 2: client 
clientid 
company 
status 
state 

그리드보기 결과를 분리하기 위해 2 개의 열이있는 테이블도 사용하고 있습니다. 현재 하나의 테이블 열에 장애 상태가 있고 다른 하나는 해당 상태에있는 클라이언트를 반환하는 두 가지 쿼리를 작성하려고합니다. 설명이 도움이된다면 감사하겠습니다.

protected void queryClientCompanyName() 
{ 
    string MyConString = "Driver={MySQL ODBC 5.1 Driver};Server=**;Database=support;User=**; Password=**;Option=3;"; 
    string queryString = "SELECT company FROM supportstatus WHERE status = 'disabled' Order By company"; 
    OdbcConnection conn = new OdbcConnection(MyConString); 
    conn.Open(); 
    OdbcCommand command = new OdbcCommand(queryString, conn); 
    OdbcDataReader reader = command.ExecuteReader(); 
    populateGrid(reader, GridView1); 
    conn.Close(); 
    RecordCountLabel.Text = GridView1.Rows.Count.ToString(); 
} 

protected void queryClientCompanyState() 
{ 
    string MyConString = "Driver={MySQL ODBC 5.1 Driver};Server=**;Database=support;User=**; Password=**;Option=3;"; 
    string queryString = "SELECT cl.state FROM clients cl, supportstatus su WHERE cl.clientid = su.clientid AND su.status='disabled' Order By cl.company"; 
    OdbcConnection conn = new OdbcConnection(MyConString); 
    conn.Open(); 
    OdbcCommand command = new OdbcCommand(queryString, conn); 
    OdbcDataReader reader = command.ExecuteReader(); 
    populateGrid(reader, GridView2); 
    conn.Close(); 
} 
+0

무엇이 문제입니까? – user194076

+2

귀하의 질문에 명확하지 않다, 원하는/샘플 출력을 제공해주십시오. –

+0

1 번 항목에 대해 결과를 회사 목록으로 원합니다. 2 열에서 해당 회사가 위치한 주를 원합니다. – MasterP

답변

2

당신은 모두 당신의 교체하려면 다음 쿼리를하기 만합니다

SELECT su.Company 
    , cl.state 
FROM clients cl 
INNER JOIN supportstatus su ON cl.clientId = su.clientId 
WHERE su.status = 'disabled' 
Order By cl.company 

당신은 당신이 그들이 관련되어 있음을 알 수 있도록 두 값을 반환 하나 개의 쿼리를 원한다. 이 때문에 테이블을 함께 결합하려고합니다. 방금 간단한 Google 검색을 수행했으며 W3schools에는 기본 조인 정보가 있습니다. 따라서 techrepublic은 데이터베이스 쿼리의 기본 개념에 도움이됩니다.

+0

그의 의견을 보았다. 그래서 upvote :-)로 바 꾸었습니다 – stefan

+0

이것이 그가 의미하는 것이면 그가 대답 할 때 우리는 보게됩니다 :) –

+0

그것이 내가 원했던 것입니다. 어떻게 이것이 정확하게 작동하는지 설명해 주시겠습니까? – MasterP