2013-04-10 3 views
1

Я совершенно не знаком с sqlite, так что несите меня. Я обновляю базу данных и мне нужно скопировать значения в одну и ту же таблицу с именем «custom». Я использовал прагму, чтобы получить информацию таблицы, это:sqlite copy values ​​in table

0 | билет | число | 0 || 0

1 | Название | Текст | 0 || 0

2 | значение | 0 || 0

Использование select * from custom where ticket = (some value) я получаю, среди других результатов,

(некоторые значения) | блок |

(некоторое значение) | требуется | (другое значение)

Я хочу, чтобы скопировать (другое значение), чтобы «блок» в любом месте это значение существует в «требуется». Как это сделать? Все, что я пробовал, потерпело неудачу до сих пор.

Моего псевдокод версия будет что-то вроде

update custom 

where required has a value 

copy it to block 

Как превратить это в реальную SQLITE команды?

ответ

0
UPDATE custom 
SET value = (SELECT value 
      FROM custom AS c2 
      WHERE c2.ticket = custom.ticket 
       AND c2.name = 'required') 
WHERE name = 'block' 
    AND value IS NULL 
+0

Спасибо, что сработало. Мне пришлось вынуть последнюю строку, поскольку значение в «блоке» не было нулевым, но в противном случае это произошло. Я бы поднял голову, но я новичок, поэтому, по-видимому, у меня недостаточно репутации. – SQLiteIsNoFun