Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Две базы объединить

#1 кипятильник

кипятильник
  • Пользователь
  • 102 сообщений
  • Репутация: 0
0

Отправлено 03 Август 2011 - 21:51

Здравствуйте,
нужно вывести данные с двух разных таблиц sql, в одной таблице html

к примеру в первой базе есть записи (даты повторяються)
2000-10-10 | 100 руб
2000-10-10 | 200 руб
2000-10-11 | 100 руб

во второй базе есть (даты не повторяються)
2000-10-10 | 50 руб
2000-10-11 | 75 руб


нужно вывысти
2000-10-10 | 100 руб | 50 руб
2000-10-10 | 200 руб |
2000-10-11 | 100 руб | 75 руб

 

 

  • 0

#2 Banderas

Banderas
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1

Отправлено 05 Август 2011 - 14:02

можно все в массив и работать с массивом...
  • 0


#3 кипятильник

кипятильник
    Topic Starter
  • Пользователь
  • 102 сообщений
  • Репутация: 0

Отправлено 08 Август 2011 - 17:34

думал над этим но сортировкой не выходит :rolleyes: там полей больше чем в примере
  • 0

#4 xweb

xweb
  • Пользователь
  • 28 сообщений
  • Репутация: 0

Отправлено 09 Август 2011 - 14:06

Сколько полей в таблицах? Почему не получается с помощью массивов? Я так представляю: данные с одной таблицы в один массив поместить, данные с другой таблицы в другой массив. Берем первый массив и в цикле выводим данные, заодно проверяем дату в другом. все должно получиться.
  • 0

#5 кипятильник

кипятильник
    Topic Starter
  • Пользователь
  • 102 сообщений
  • Репутация: 0

Отправлено 10 Август 2011 - 18:01

дело в том что может быть в таблицах разные даты не совпадать что тогда?
  • 0

#6 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 11 Август 2011 - 10:10

дело в том что может быть в таблицах разные даты не совпадать что тогда?

Эмм... это как бы должен решать тот, кто пишет программу, мы же не знаем, что должно быть тогда :)
Вообще, для этого существуют условия: если выполняется - делаем одно, иначе - другое.
В общем, приведите четкую структуру таблиц и их содержимое. И, главное, четко поставьте задачу с описанием того, что должно получиться... Если все это будет - попробуем помочь :rolleyes:
  • 0


#7 xweb

xweb
  • Пользователь
  • 28 сообщений
  • Репутация: 0

Отправлено 11 Август 2011 - 16:36

нужно все условия сразу писать :) Тогда можно сделать следующим образом. Данные с таблиц помещаем в массивы. Сортируем их по дате, сортировку можно сделать и сразу при извлечении из базы данных. Далее берем по значению с каждого массива, сравниваем даты и смотрим. Если даты совпали, то тут все понятно - выводим. Если даты не совпали - выбираем значение с меньшей датой, и выводим его. И далее в цикле повторяем действия. Думаю тут все должно быть понятно :rolleyes:
  • 0

#8 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 11 Август 2011 - 17:23

...Далее берем по значению с каждого массива, сравниваем даты и смотрим. Если даты совпали, то тут все понятно - выводим. Если даты не совпали - выбираем значение с меньшей датой, и выводим его. И далее в цикле повторяем действия...

Думаю, алгоритм не совсем правилен... или я не совсем правильно его понял. Правильнее считать массив, значения которого будут выводиться в первую колонку, ключевым. Далее брать значение даты первого элемента ключевого массива и сравнить его со всеми значениями дат второго массива. Если совпадение есть - выводим две колонки: в первой - значение из первого массива, во второй - из второго. Иначе - только значение первого (которое должно быть в любом случае, насколько я понял ТС) в первой колонке.
  • 0


#9 xweb

xweb
  • Пользователь
  • 28 сообщений
  • Репутация: 0

Отправлено 12 Август 2011 - 09:35

Думаю, алгоритм не совсем правилен... или я не совсем правильно его понял. Правильнее считать массив, значения которого будут выводиться в первую колонку, ключевым. Далее брать значение даты первого элемента ключевого массива и сравнить его со всеми значениями дат второго массива. Если совпадение есть - выводим две колонки: в первой - значение из первого массива, во второй - из второго. Иначе - только значение первого (которое должно быть в любом случае, насколько я понял ТС) в первой колонке.


Я так предлагал выше, но автору не понравилось это решение :rolleyes:

дело в том что может быть в таблицах разные даты не совпадать что тогда?


если дата во второй таблице не будет совпадать с датой из первой таблицы, то тогда эта дата не будет выводиться (если я все правильно понял :) )
  • 0

#10 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 12 Август 2011 - 11:13

Я так предлагал выше, но автору не понравилось это решение :rolleyes:

А, тады сори :) ... ну а ТС тогда, как и говорилось, нужно для начала определиться с задачей.
  • 0


robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru