Вставить конкретные строки из одной таблицы в базе данных в другую с разными столбцами

0

Я сталкиваюсь с проблемами перемещения данных из одной таблицы в другую. У меня есть две таблицы, одна из которых хранит всех пользователей, которые являются членами веб-сайта, однако есть VIP-участники, которые получают случайные баллы, когда подписываются, а обычные члены этого не делают.

+-----------+
|   Users   |
+-----------+
| User_id   |
| Usertype  |
| Firstname |
| Lastname  |
| Email     |
| Username  |
| Password  |
+-----------+

+-------------+
| VIP_Members |
+-------------+
| User_id     |
| Username    |
| Points      |
+-------------+

Я хочу выбрать всех VIP-участников (определяется Usertype) и переместить их в таблицу VIP-участников:

INSERT INTO Vip_Members (Points)
VALUES (ABS(CHECKSUM(NewId())) % 11)
SELECT User_id, Username
FROM Users
WHERE Usertype = 'vip';
  • 0
    С какой ошибкой вы сталкиваетесь?
Теги:

1 ответ

0
Лучший ответ

Синтаксис, который вы хотите использовать здесь, - INSERT INTO... SELECT. Ключевое слово VALUES используется главным образом, когда вы хотите вставлять литеральные константы в оператор INSERT.

INSERT INTO Vip_Members (User_id, Username, Points)
SELECT User_id, Username, ABS(CHECKSUM(NewId())) % 11
FROM Users
WHERE Usertype = 'vip';

Как примечание, я не знаю, почему вы хотите переместить пользователей из таблицы Users в отдельную таблицу. Я думаю, что это нормально, чтобы иметь столбец типа, который определяет, является ли пользователь VIP.

  • 0
    это всего лишь фрагмент проблемы с упражнениями для школы, я полностью согласен с вашей запиской.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню