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

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

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

Здравствуйте подскажите пожалуйста, есть запрос:
Листинг программы
  1. 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# что он хочет не пойму
Весь код выглядит так:
Листинг программы
  1. dateTimePicker1.MinDate = new DateTime(2015, 10, 1);
  2. dateTimePicker1.MaxDate = DateTime.Now;
  3. dateTimePicker1.CustomFormat = "yyyy.MM.dd HH:mm:ss";
  4. dateTimePicker1.Format = DateTimePickerFormat.Custom;
  5. dateTimePicker1.Value.ToShortDateString();
  6. dateTimePicker2.MinDate = new DateTime(2015, 10, 1);
  7. dateTimePicker2.MaxDate = DateTime.Now;
  8. dateTimePicker2.CustomFormat = "yyyy.MM.dd HH:mm:ss";
  9. dateTimePicker2.Format = DateTimePickerFormat.Custom;
  10. dateTimePicker2.Value.ToShortDateString();
  11. 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");
  12. MySqlConnection mcon = new MySqlConnection("datasource= localhost; port= 3306; User Id= root; password= 1234");
  13. using (MySqlCommand cmd = new MySqlCommand(query, mcon))
  14. {
  15. try
  16. {
  17. timer2.Stop();
  18. mcon.Open();
  19. cmd.Parameters.AddWithValue("@DateStart", dateTimePicker1.Value);
  20. cmd.Parameters.AddWithValue("@DateFinish", dateTimePicker2.Value);
  21. MySqlDataReader dr = cmd.ExecuteReader();
  22. DataTable ds = new DataTable();
  23. ds.Load(dr);
  24. dataGridView1.DataSource = ds;
Запросы выглядят по разному потому что экспериментирую с запросами

Решение задачи: «Запрос на выборку из двух разных БД»

textual
Листинг программы
  1.             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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы