Запрос на выборку из двух разных БД - MySQL
Формулировка задачи:
Здравствуйте подскажите пожалуйста, есть запрос:
Выводит ошибку Column "DataTime" in Where clause is ambiguous
Пишу программу на c# что он хочет не пойму
Запросы выглядят по разному потому что экспериментирую с запросами
SELECT O.DataTime, O.TecProizv, T.DataTime, T.SutProizv FROM schetchik.proizv O INNER JOIN sut.proizv T ON O.DataTime = T.DataTime WHERE DataTime >= @DateStart AND DataTime <= @DateFinish
Весь код выглядит так:
dateTimePicker1.MinDate = new DateTime(2015, 10, 1);
dateTimePicker1.MaxDate = DateTime.Now;
dateTimePicker1.CustomFormat = "yyyy.MM.dd HH:mm:ss";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.Value.ToShortDateString();
dateTimePicker2.MinDate = new DateTime(2015, 10, 1);
dateTimePicker2.MaxDate = DateTime.Now;
dateTimePicker2.CustomFormat = "yyyy.MM.dd HH:mm:ss";
dateTimePicker2.Format = DateTimePickerFormat.Custom;
dateTimePicker2.Value.ToShortDateString();
string query = string.Format("SELECT schetchik.proizv.DataTime, schetchik.proizv.TecProizv, mes.proizv.MesProizv FROM schetchik.proizv Inner Join mes.proizv ON schetchik.proizv.DataTime = mes.proizv.DataTime Where DataTime >= @DateStart And DataTime <= @DateFinish");
MySqlConnection mcon = new MySqlConnection("datasource= localhost; port= 3306; User Id= root; password= 1234");
using (MySqlCommand cmd = new MySqlCommand(query, mcon))
{
try
{
timer2.Stop();
mcon.Open();
cmd.Parameters.AddWithValue("@DateStart", dateTimePicker1.Value);
cmd.Parameters.AddWithValue("@DateFinish", dateTimePicker2.Value);
MySqlDataReader dr = cmd.ExecuteReader();
DataTable ds = new DataTable();
ds.Load(dr);
dataGridView1.DataSource = ds;Решение задачи: «Запрос на выборку из двух разных БД»
textual
Листинг программы
string query = string.Format("SELECT O.DataTime, O.TecProizv, T.MesProizv FROM schetchik.proizv AS O INNER JOIN mes.proizv AS T ON O.DataTime = T.DataTime WHERE DataTime >= @DateStart AND DataTime <= @DateFinish");
Объяснение кода листинга программы
- Создается строка запроса с помощью функции string.Format.
- В запросе используется оператор INNER JOIN для объединения двух таблиц proizv из БД schetchik и mes соответственно.
- В запросе используются поля DataTime и TecProizv из таблицы schetchik.proizv и поле MesProizv из таблицы mes.proizv.
- В запросе используется условие WHERE для фильтрации записей по дате.
- В запросе используются параметры @DateStart и @DateFinish.