AFAIK, you should be able to do all or nearly all that you’ve asked. I don’t have specific query examples for you because I don’t have data explorer running right now. Instead, here’s pointers to related topics.
Query tags on posts
- Badges for tagging
- Receive a badge for a post into a topic containing specific tag - #8 by bartv
- [Superseded] What cool badge queries have you come up with? - #112
Query poll options selected by a user
Assign badges multiple times
You’ll see that there is a checkbox for Can be granted multiple times
on the Badge Query (SQL)
page. But, AFAIK, automatic assignment of badges requires the query to target posts - someone more knowledgeable will know for certain:
Assign badges based on other badges already assigned.
So you can create higher-level 400kg badges based on lower-level 100kg badges that have already been assigned. But you may not be able to assign multiple higher-level badges because they wouldn’t be based on a query that targets posts.
Personally, I would prefer to just assign one badge at each level because most users will be more interested in their highest level, and who else is at that level, rather than the numbers of low-level badges they have. However, if you wanted to display progress towards higher levels then the number of lower-level badges will surface that information.
FYI, I only replied because I noticed that this could be your second question unanswered, i.e. your question last year.
You might get a better response by putting your forum scenarios into a separate topic. I’ve noticed that questions not related to actual specific query examples get less attention in this topic. This make sense because I’m not expecting to find new scenario questions in a howto topic about example badge queries.
Also, I also wonder if you meant to say “I can’t find a query for that”: