В операторе SELECT я меняю поле «кошка» и поле «владелец». В конце этого SELECT, в предложении WHERE я ссылаюсь на «владельца» и «кошку»; используемые значения являются исходными значениями, в то время как я хочу первоначальный 'владелец', но измененное значение 'кошка'. Это утверждение
SELECT *,CASE WHEN persoon=2 THEN catlist ELSE cat END AS cat,CASE WHEN persoon=2 THEN 'ikke' ELSE owner END AS owner FROM object LEFT JOIN list ON (id=imgref AND persoon=2) WHERE (owner=0 OR persoon=2)AND (","||cat||",") LIKE "%,aap,%"
Это может выглядеть сложно, но в основном вы видите:
1. в первом случае ... КОНЕЦ, как я изменяю поле cat
во втором случае ... END Я меняю владельца поля
в поле WHERE, которым я пользуюсь owner и cat.
SQLITE использует в WHERE -claus исходные значения владельца и cat. Как я могу сослаться на значения измененного владельца или кошки?
Я решил это временно, введя новое поле CAT2:
...CASE WHEN persoon=2 THEN catlist ELSE cat END AS CAT2.........WHERE .......CAT2
вместо:
...CASE WHEN persoon=2 THEN catlist ELSE cat END AS cat..........WHERE..........cat
но мне интересно, могу ли я сказать что-то вроде:
...CASE WHEN persoon=2 THEN catlist ELSE cat END AS cat..........WHERE.........new-valued-cat
Спасибо за любую помощь ................. Эке ван Батенбург