次のような非常に単純なSQLステートメントを変更したい
SELECT id
FROM page
WHERE name = "Test"
今、私はそれを次のようなものに変更したいと思います
SELECT id
FROM page
WHERE name = "Test"
AND if idLanguage != idlanguage then idParent = idpage
これを行うためのより良い方法は何でしょうか?
ありがとうございました
次のような非常に単純なSQLステートメントを変更したい
SELECT id
FROM page
WHERE name = "Test"
今、私はそれを次のようなものに変更したいと思います
SELECT id
FROM page
WHERE name = "Test"
AND if idLanguage != idlanguage then idParent = idpage
これを行うためのより良い方法は何でしょうか?
ありがとうございました
SELECT id
FROM page
WHERE name = "Test"
AND (idLanguage = idlanguage OR idParent = idpage)
有効なSQL構文であるため、より優れています。
caseステートメントを使用するのはどうですか?してみてください:
SELECT id
FROM page
WHERE name = "Test" AND
idParent = (CASE WHEN idLanguage <> idlanguage THEN idpage ELSE idParent END)
データベースにidParentの値を実際に設定する場合はUPDATE
、選択する前にステートメントが必要です。
UPDATE page SET idParent = idpage
WHERE name = "Test"
AND idLanguage != idlanguage;
SELECT id FROM page
WHERE name = "Test"