我正在尝试将查询作为报告的一部分运行,以确定是否需要发生事件。有很多组合,因为后续事件取决于第一个和第二个事件中的观察结果,这些组合因鱼的大小而异,并按物种分组。希望这提供了一些背景信息。我已经搜索了这里的问题,但还没有找到任何解决方案。这是代码片段。代码大约 160 行左右,其中大部分包含在 Switch 函数中。谢谢你的任何想法!
SELECT headerid, species, ageclass, P1, P2, P3, P4, P5,
switch(ageclass in ('Subyearling', 'Yearling') and P3 is null and P1<4 and P2<1,
'SHOCK',
ageclass in ('Subyearling', 'Yearling') and P3 is null and P1 between 4 and 5 and
P2<2, 'SHOCK',
ageclass in ('Subyearling', 'Yearling') and P3 is null and P1 between 6 and 7 and
P2<3, 'SHOCK',
ageclass in ('Subyearling', 'Yearling') and P3 is null and P1 between 8 and 9 and
P2<4, 'SHOCK',
ageclass like 'Subadult' and P3 is null and P1<5 and P2<1, 'SHOCK',
ageclass like 'Subadult' and P3 is null and P1 between 5 and 8 and P2<2, 'SHOCK',
ageclass like 'Subadult' and P3 is null and P1 between 9 and 11 and P2<3, 'SHOCK',
ageclass like 'Subadult' and P3 is null and P1 between 12 and 13 and P2<4, 'SHOCK',
ageclass like 'Subadult' and P3 is null and P1 between 14 and 16 and P2<5, 'SHOCK'
as Event from data;