Запрос на выборку из двух разных БД - MySQL

Узнай цену своей работы

Формулировка задачи:

Здравствуйте подскажите пожалуйста, есть запрос:
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
Выводит ошибку Column "DataTime" in Where clause is ambiguous Пишу программу на c# что он хочет не пойму
Весь код выглядит так:
 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");

Объяснение кода листинга программы

  1. Создается строка запроса с помощью функции string.Format.
  2. В запросе используется оператор INNER JOIN для объединения двух таблиц proizv из БД schetchik и mes соответственно.
  3. В запросе используются поля DataTime и TecProizv из таблицы schetchik.proizv и поле MesProizv из таблицы mes.proizv.
  4. В запросе используется условие WHERE для фильтрации записей по дате.
  5. В запросе используются параметры @DateStart и @DateFinish.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы