Скопировать выбранные данные и увеличить идентификатор записи - PullRequest
0 голосов
/ 23 января 2019

Я выбрал свои данные с помощью

SELECT * FROM item_temp WHERE name LIKE '%starter%' AND Inventory LIKE '600';

Я хочу продублировать выбранные данные (не перезаписывать их), умножить «запись» каждого элемента в запросе на 10.

Например, «запись» одного элемента: 51327. Я хочу сделать копию предмета с записью 513270.

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

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 23 января 2019

Примерно так:

select (it.entry * 10 + n) as entry, . . .  -- the rest of the columns go here
from (select 0 as n union all select 1 union all . . . select 9) n cross join
     item_temp it
where it.name LIKE '%starter%' AND it.Inventory LIKE '600' ;
0 голосов
/ 23 января 2019

Используйте INSERT INTO с SELECT, который выполняет необходимое вам умножение.Вам нужно будет написать все столбцы для таблицы вставки.

INSERT INTO item_temp (
    entry
    -- , other columns
    )
SELECT
    T.entry * 10 AS entry
    -- , other columns
FROM 
    item_temp T
WHERE 
    name LIKE '%starter%' AND 
    Inventory LIKE '600';
0 голосов
/ 23 января 2019

Использовать синтаксис INSERT INTO

 INSERT INTO table_name
   <your query with same column order as table_name>;

Другой вариант - сделать таблицу назначения ex-novo с помощью оператора select ... into

SELECT * 
into new_table
FROM item_temp 
WHERE name LIKE '%starter%' 
AND Inventory LIKE '600';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...