У меня две таблицы.
Table 1: supportstatus
clientid
company
status
Table 2: client
clientid
company
status
state
Я также использую таблицу с двумя столбцами для разделения результатов сетки. В настоящее время я пытаюсь сделать два запроса, которые возвратят клиентов с отключенным статусом в одном столбце таблицы и их соответствующими состояниями в другом. Любая помощь с разъяснением была бы оценена.
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();
}
Вам потребуется только следующий запрос, чтобы заменить оба из них:
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 Они должны помочь вам с базовыми концепциями запросов к базе данных.