Запрос на выборку из двух разных БД - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д