Чудех се дали има начин да се използват най-малко четири условия в случай на изявление в MYSQL.
CASE
WHEN
rank = 0 AND
visibility != "visibile" AND
rank = 1 AND
visibility = "visibile"
THEN "Yes"
WHEN
rank = 1 AND
visibility != "visibile" AND
rank = 2 AND
visibility = "visibile"
THEN "Yes"
WHEN
rank = 2 AND
visibility != "visibile" AND
rank = 3 AND
visibility = "visibile"
THEN "Yes"
ELSE null
END "Missing in Sequence"
Когато някога използвам повече от 2 условия, не мога да го накарам да работи.
Някой има ли някакви предложения?
Благодаря
Отговори:
0 за отговор № 1Заявката ви никога няма да работи логично. Защото, visibility = "visibile"
и visibility != "visibile"
си противоречат във всеки случай. Така че, аз се опитах да коригирам вашето CASE
изявление чрез създаване на вложени CASE
Изпробвайте:
CASE WHEN
((SELECT visibility FROM table WHERE rank=0)!="visibile" AND
(SELECT visibility FROM table WHERE rank=1)="visibile")
THEN "Yes"
WHEN
((SELECT visibility FROM table WHERE rank=1)!="visibile" AND
(SELECT visibility FROM table WHERE rank=2)="visibile")
THEN "Yes"
WHEN
((SELECT visibility FROM table WHERE rank=2)!="visibile" AND
(SELECT visibility FROM table WHERE rank=3)="visibile")
THEN "Yes"
ELSE "Missing in Sequence" END