1

私はsqliteにまったく慣れていないので、我慢してください。データベースを更新していて、「カスタム」という名前の同じテーブル内の値をコピーする必要があります。テーブル情報を取得するためにプラグマを使用しました。

0|チケット|整数|0||0

1|名前|テキスト|0||0

2|値|0||0

select * from custom where ticket = (some value)I getを使用すると、他の結果の中でも、

(何らかの値)|ブロック|

(何らかの値)|必須|(別の値)

この値が「必須」に存在する場所ならどこでも「ブロック」に(別の値)をコピーしたい。どうすればそれを実現できますか?私が試したことはすべて、この時点まで惨めに失敗しました。

私の疑似コードのバージョンは次のようになります

update custom

where required has a value

copy it to block

それを実際の sqlite コマンドに変換するにはどうすればよいですか?

4

1 に答える 1

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
于 2013-04-10T07:10:01.310 に答える