Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Добавление данных

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Gost12345
Отправлено: 07 Декабря, 2016 - 11:11:19
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Нояб. 2016  


Помог: 0 раз(а)




Добрый день. Есть таблица в БД, допустим,Товар.
номер название привезли продали
1 мяч 50 шт 20шт
2 ракетки 100шт 100шт

Нужно отсортировать эту таблицу таким образом чтобы получилось вот так:
номер название оборот количество
1 мяч привезли 50шт
2 мяч продали 20шт
3 ракетки привезли 100шт
4 ракетки продали 100шт

И эту таблицу нужно хранить в БД.
Пробую INSERT...SELECT, но ничего не добавляется.
Спасибо.
 
 Top
Мелкий Супермодератор
Отправлено: 07 Декабря, 2016 - 11:23:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. INSERT INTO tablename (name, type, count)
  2. SELECT name, 'input', input_count FROM tablename
  3. UNION ALL
  4. SELECT name, 'output', output_count FROM tablename


Приправить where по вкусу.


-----
PostgreSQL DBA
 
 Top
Gost12345
Отправлено: 07 Декабря, 2016 - 13:38:30
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Нояб. 2016  


Помог: 0 раз(а)




А если мне нужно сохранить эти данные в другую таблицу? то тоже UNION ALL делать?
 
 Top
Мелкий Супермодератор
Отправлено: 07 Декабря, 2016 - 13:47:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Тьфу, я одно и то же им таблицы взял. Писать можно в любую таблицу, конечно.

В абстрактном случае сделать из столбцов строки проще всего через union all. Извращаться стоит, если не подходит простой вариант.


-----
PostgreSQL DBA
 
 Top
Gost12345
Отправлено: 08 Декабря, 2016 - 07:52:49
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Нояб. 2016  


Помог: 0 раз(а)




Таблица Tovar:(из которой надо брать данные)
id,name,privoz,prodaga

Таблица Oborot:(куда нужно вносить данные)
id,nane_ob, oborot,number

Пробую так
INSERT INTO Oborot(name_ob,oborot,number) SELECT name,'privoz',privoz FROM Tovar UNION ALL SELECT name,'prodaga',prodaga FROM Tovar

ничего не добавляет и не выдает никаких ошибок
 
 Top
Мелкий Супермодератор
Отправлено: 08 Декабря, 2016 - 10:34:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Значит или вы не смотрите ошибки или ваша таблица со странным названием "Tovar" пуста.


-----
PostgreSQL DBA
 
 Top
Gost12345
Отправлено: 09 Декабря, 2016 - 08:59:46
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Нояб. 2016  


Помог: 0 раз(а)




Таблица Tovar c данными, и код выдачи ошибок подключен
 
 Top
Мелкий Супермодератор
Отправлено: 09 Декабря, 2016 - 10:22:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Не вижу смысла спорить с субд. Покажите выполнение запроса с консоли используемой СУБД.
Затем, если субд скажет, что столько-то строк записано - минимально-воспроизводимый пример кода.

А то есть ещё забавный вариант, на который на ruSO не так давно отвечал - вы открыли транзакцию и так до завершения скрипта её и не закоммитили.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB