Как обновить несколько столбцов в SQL, если все столбцы имеют один и тот же тип данных и одни и те же данные?
Уважаемые эксперты,
У меня есть таблица, которая имеет 45 столбцов, включая первичный ключ. Кроме того, 44 столбца имеют один и тот же тип данных и также имеют одни и те же данные(например, тип данных: int, данные: 50 во всех 44 столбцах). Причем, в этой таблице нет записей более 3000. Итак, я хочу обновить все записи.
Как я могу обновить записи с помощью короткого запроса?
Что я уже пробовал:
Update table_name set col_name1=50, col_name2=50, col_name3=50, col_name4=50, col_name5=50, ...upto col_name44=50 where ISBN='97890000000'
Примечание: стоимость книги будет меняться в следующей записи.
Maciej Los
Хотите добавить одно и то же значение для каждого столбца?
Tarun Mittal Delhi
да...
Karthik_Mahalingam
в чем проблема?
Tarun Mittal Delhi
Привет,
У меня есть таблица, которая связана с ценами на книги. Подробности: в этой таблице 44 столбца определены для 44 «стран Латинской Америки», а основной столбец - «ISBN». «ISBN» уникален для каждой записи / книги. Теперь я хочу обновить цены для всех 44 стран. В этом случае мне нужно будет написать такой запрос: (Обновить CountryPrice Set MX = 84, GT = 84, SV = 84, HN = 84, NI = 84, CR = 84, PA = 84, CO = 84, VE = 84, PY = 84, BO = 84, EC = 84, BR = 84, CL = 84, AR = 84, UY = 84, PE = 84, DO = 84, PR = 84, TT = 84, JM = 84, GY = 84, CU = 84, HT = 84, GP = 84, MQ = 84, BS = 84, BB = 84, LC = 84, CW = 84, AW = 84, VC = 84, GD = 84, AG = 84, DM = 84, KY = 84, KN = 84, SX = 84, TC = 84, MF = 84, VG = 84, AI = 84, BL = 84, MS = 84, где ISBN = '9789350903186')
Примечание: эти столбцы в основном являются кодами стран.
Я хочу обновить более 3000 записей, как в приведенном выше примере. Пожалуйста, помогите мне, как я могу написать запрос для всех записей вкратце. Если я буду писать вручную, то время тоже будет потрачено.
---
с уважением,
Тарун Миттал
Maciej Los
Проверьте обновленные ответ ;)
Tarun Mittal Delhi
спасибо за ваше решение. Но значение всех 44 столбцов также будет разным для каждого ISBN. Итак, существует ли какой-либо метод написания короткого запроса для обновления всех записей с помощью определения одного столбца для всех 44 столбцов...???? надеюсь, вы поймете, что я хочу сделать
Maciej Los
Думать об этом. Решение было предоставлено. Все, что вам нужно, - это изменить запрос в соответствии с вашими потребностями.
Richard Deeming
Очень плохой дизайн!
Вам нужно три стола:
* Книги: (ISBN, [другие сведения о книге...])
* Страны (код страны, [другие сведения о стране...])
* Книжные цены (ISBN, код страны, цена)
Тогда обновление будет:
UPDATE BookPrices SET Price = @NewPrice WHERE ISBN = @ISBN;
Tarun Mittal Delhi
я уже слежу за этой структурой.
Richard Deeming
Не в соответствии с вашим вопросом и вашими комментариями! :)
Richard Deeming
44 столбца в одной таблице, все они содержат одни и те же данные?
Похоже, кто-то должен научиться нормализовать базу данных.
https://en.wikipedia.org/wiki/Database_normalization[^]
http://www.essentialsql.com/get-ready-to-learn-sql-database-normalization-explained-in-simple-english/[^]