Автор Тема: Сложный запрос  (Прочитано 2906 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн listopad

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 142
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.loadfile.ru
Сложный запрос
« : 27 Мая 2004, 19:55:02 »
Никак не могу написать запрос

Есть две таблицы с ценами (price1 и price2 ) , во второй цены указаны типа 19,85 или 125,25  т.е с копейками, а мне надо существующие округлить и прибавить 40 руб и вставить в price1  , че я делаю

INSERT INTO price1 (id, price/*здесь как я понимаю надо написать фунцию, но не знаю как это сделать /* ) SELECT id, price FROM price2


Буду очень благодарен.....
 - On-line сервис.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Сложный запрос
« Ответ #1 : 27 Мая 2004, 20:49:20 »
есть разные виды округления - round(), floor(), ceiling() - разницу ищи в мане.
Запрос будет выглядеть примерно так:
INSERT INTO price1 (id, price) SELECT id, floor(price)+40 FROM price2
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн listopad

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 142
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.loadfile.ru
Сложный запрос
« Ответ #2 : 02 Июня 2004, 20:47:57 »
А вот заморочка еще по круче...таблицы с ценами на книги

теже таблицы, в текущей таблице цены более старые , есть таблица с новыми ценами, Как обновить только цены в текущей таблице соответственно к каждой книге

вот что родил я , но это не работает :)))

update current_books set current_books.price=new_price.price where current_books.id=new_price.id

..... вроде есть смысл но ничего не работает....


Очень всем благодарен ...
 - On-line сервис.

Оффлайн listopad

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 142
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.loadfile.ru
Сложный запрос
« Ответ #3 : 02 Июня 2004, 20:54:26 »
база mysql
 - On-line сервис.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Сложный запрос
« Ответ #4 : 02 Июня 2004, 21:09:17 »
начиная с версии 4.0.4 такой запрос дожен работать:

update
      current_books [b], new_price [/b]
set
      current_books.price=new_price.price
where
     current_books.id=new_price.id

(судя по ману, сам такого не делал)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28