超级简化的代码:
SELECT lots_of_stuff.
, A.more_stuff
, B.stuff
, C.things
FROM
table A,
table B,
table C,
where (B.more_stuff = A.stuff)
and things and stuff
and lots more things
and this query has so much crap believe me
and finally
and count(select c.things from table C where c.things like 'CRED')
> count(select c.things from table C where c.things like 'PUR')
;
所以问题是最后一点不起作用(我确定我完全做错了,这只是对如何做的一个猜测。)我想知道是否有人可以给我一些建议。
我要做的只是在特定字段中包含“CRED”的行数大于特定字段中包含“PUR”的行数的情况下返回所需的字段。(相同的字段,如果可以简化事情的话。)无论“CRED”或“PUR”是较长单词(信用/购买)的一部分还是单独存在,我都希望它们被退回。不过,它们将永远是大写字母。
编辑:
我正在寻找的只是我指定的那些列
| More_Stuff | Stuff | Things |
| dshsdh | dfh | tjra |
| ddh | ash | ytra |
| shsdh | fgh | sayh |
| hsdh | gnh | tshn |
但只有信用代码多于购买计划的客户的行。因此,如果他们在“c.things”中有 3 个不同的条目,例如“PHONE-CREDIT”或“OFFSET CRED”。和“c.things”中的 2 个不同条目,例如“12 M PURCH PLAN”或“PROMO PURCHASE 36”,我希望显示他们的信息。因此,当任何信用代码的行数大于任何购买计划的行数时。我当前的非简化查询已经设置为对所有客户进行排序,我只需要根据此过滤器指定哪些客户。