我想修改SQL语句现在我想改变它像SELECT语句的if-else条件
SELECT id
FROM page
WHERE name = "Test"
AND if idLanguage != idlanguage then idParent = idpage
这就好比
SELECT id
FROM page
WHERE name = "Test"
很简单会出现什么更好的办法做到这个?
谢谢
我想修改SQL语句现在我想改变它像SELECT语句的if-else条件
SELECT id
FROM page
WHERE name = "Test"
AND if idLanguage != idlanguage then idParent = idpage
这就好比
SELECT id
FROM page
WHERE name = "Test"
很简单会出现什么更好的办法做到这个?
谢谢
SELECT id
FROM page
WHERE name = "Test"
AND (idLanguage = idlanguage OR idParent = idpage)
是更好,因为它是有效的SQL语法。
如果您实际上想要在数据库中设置idParent的值,那么在选择之前您需要一个UPDATE
声明。
UPDATE page SET idParent = idpage
WHERE name = "Test"
AND idLanguage != idlanguage;
SELECT id FROM page
WHERE name = "Test"
如何使用case语句?请尝试:
SELECT id
FROM page
WHERE name = "Test" AND
idParent = (CASE WHEN idLanguage <> idlanguage THEN idpage ELSE idParent END)
这是否会每次从表中选择所有记录? –
@JoeGJoseph我认为OP通过'idLanguage'和'idlanguage'意味着不同的东西。也许这是一个区分大小写的数据库,或者其中一个将被一个参数替换。 – GolfWolf