Проблема соединения C # / SQL - PullRequest
0 голосов
/ 08 ноября 2011

У меня есть две таблицы.

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();
}

1 Ответ

2 голосов
/ 08 ноября 2011

Вам нужен только следующий запрос, чтобы заменить оба ваших:

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 Они должны помочь вам с основными понятиями запроса к базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...