Difference between revisions of "Template:Card query"
Dinoguy1000 (talk | contribs) (fix MAXIMUM ATK column determination (the value of `$cq_medium` is always lowercase)) |
Dinoguy1000 (talk | contribs) (use format-count queries to auto-determine list type if it isn't specified via the `{{{type}}}` parameter (this didn't simplify as much as I hoped, unfortunately)) |
||
Line 78: | Line 78: | ||
| faq = faq | | faq = faq | ||
| #default = {{ #if: {{{type|}}} | {{ #vardefine: $cq_card_type_unknown | 1 }} }} | | #default = {{ #if: {{{type|}}} | {{ #vardefine: $cq_card_type_unknown | 1 }} }} | ||
+ | }} | ||
+ | }}{{ #vardefine: $cq_card_type | {{ #var: $cq_card_type | {{ #vardefine: $cq_monster_count | {{ #ask: {{ #var: $cq_medium_query }}{{ #var: $cq_query }}[[Card type::Monster Card]] | format=count }} | ||
+ | }}{{ #vardefine: $cq_nonmonster_count | {{ #ask: {{ #var: $cq_medium_query }}{{ #var: $cq_query }}[[Concept:Non-monster cards]] | format=count }} | ||
+ | }}{{ #vardefine: $cq_spell_count | {{ #ask: {{ #var: $cq_medium_query }}{{ #var: $cq_query }}[[Card type::Spell Card]] | format=count }} | ||
+ | }}{{ #vardefine: $cq_trap_count | {{ #ask: {{ #var: $cq_medium_query }}{{ #var: $cq_query }}[[Card type::Trap Card]] | format=count }} | ||
+ | }}{{ #switch: {{ #ifexpr: {{ #var: $cq_monster_count }} > 0 | 1 | 0 }}/{{ #ifexpr: {{ #var: $cq_spell_count }} > 0 | 1 | 0 }}/{{ #ifexpr: {{ #var: $cq_trap_count }} > 0 | 1 | 0 }}{{ #ifexpr: {{ #var: $cq_nonmonster_count }} > 0 | 1 | 0 }} | ||
+ | | 0/0/0/0 | 0/0/0/1 | 0/1/0/1 | 0/0/1/1 | 0/1/1/1 = non-monster<!-- maybe split out the no spell/trap case later to allow auto-determination of other stuff --> | ||
+ | | 1/0/0/0 = monster | ||
+ | | 0/1/0/1 = {{ #ifexpr: {{ #var: $cq_nonmonster_count }} = {{ #var: $cq_spell_count }} | spell | non-monster }} | ||
+ | | 0/0/1/1 = {{ #ifexpr: {{ #var: $cq_nonmonster_count }} = {{ #var: $cq_trap_count }} | trap | non-monster }} | ||
+ | | #default = monster<!-- if you get here you need to specify {{{type}}}; maybe one day {{Card query}} will have better handling for mixed-type lists --> | ||
+ | }} | ||
}} | }} | ||
}}{{ #vardefine: $cq_card_type_query | {{ #switch: {{ #var: $cq_card_type }} | }}{{ #vardefine: $cq_card_type_query | {{ #switch: {{ #var: $cq_card_type }} | ||
Line 96: | Line 108: | ||
| strategy = [[Card type::Strategy Card]] | | strategy = [[Card type::Strategy Card]] | ||
| faq = [[Card type::FAQ Card]] | | faq = [[Card type::FAQ Card]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
}}{{ #vardefine: $cq_concept_query | {{ #switch: {{ #var: $cq_medium }}/{{ #var: $cq_card_type }} | }}{{ #vardefine: $cq_concept_query | {{ #switch: {{ #var: $cq_medium }}/{{ #var: $cq_card_type }} |
Revision as of 18:38, 7 May 2023
SQLStore debug output
ASK Query
[[Card type::Monster Card]]
SQL Query
SELECT DISTINCT
t0.smw_id AS id,
t0.smw_title AS t,
t0.smw_namespace AS ns,
t0.smw_iw AS iw,
t0.smw_subobject AS so,
t0.smw_sortkey AS sortkey, t0.smw_sort,
t0.smw_title,
t0.smw_subobject
FROM
`smw_object_ids` AS t0
INNER JOIN
`smw_di_wikipage` AS t1 ON t0.smw_id=t1.s_id
WHERE
(t1.p_id='596' AND t1.o_id='1389')
AND t0.smw_iw!=':smw'
AND t0.smw_iw!=':smw-delete'
AND t0.smw_iw!=':smw-redi'
ORDER BY
t0.smw_sort ASC,
t0.smw_title ASC,
t0.smw_subobject ASC
LIMIT
55
OFFSET
0
t0.smw_id AS id,
t0.smw_title AS t,
t0.smw_namespace AS ns,
t0.smw_iw AS iw,
t0.smw_subobject AS so,
t0.smw_sortkey AS sortkey, t0.smw_sort,
t0.smw_title,
t0.smw_subobject
FROM
`smw_object_ids` AS t0
INNER JOIN
`smw_di_wikipage` AS t1 ON t0.smw_id=t1.s_id
WHERE
(t1.p_id='596' AND t1.o_id='1389')
AND t0.smw_iw!=':smw'
AND t0.smw_iw!=':smw-delete'
AND t0.smw_iw!=':smw-redi'
ORDER BY
t0.smw_sort ASC,
t0.smw_title ASC,
t0.smw_subobject ASC
LIMIT
55
OFFSET
0
SQL Explain
ID | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
---|---|---|---|---|---|---|---|---|---|
1 | SIMPLE | t1 | ref | s_id,o_id,p_id,s_id_2,s_id_3,o_id_2,o_id_3 | o_id_2 | 5 | const | 71526 | Using where; Using temporary; Using filesort |
1 | SIMPLE | t0 | eq_ref | PRIMARY,smw_id,smw_iw,smw_iw_2 | PRIMARY | 4 | ygowiki.t1.s_id | 1 | Using where |
Auxilliary Tables
No auxilliary tables used.Query Metrics
Query-Size:2Query-Depth:1
Errors and Warnings
NoneShowing first 50 results, of 44962 total ¦ Show next 50 results ¦ Show first [20 · 50 · 100 · 250 · 500] results (all links open a new page) |
#ask
query:[[Card type::Monster Card]]
- $cq_query:
- $cq_query_lc:
- $cq_query_normalized:
- $cq_medium:
- $cq_medium_query:
- $cq_query_medium:
- $cq_card_type:
monster
- $cq_card_type_query:
[[Card type::Monster Card]]
- $cq_concept_query:
- $cq_col_card_type:
?Card type =
- $cq_col_primary_type:
?Primary type
- $cq_col_secondary_type:
?Secondary type
- $cq_col_attribute:
?Attribute = [[Attribute]]
- $cq_col_type:
?Type = [[Type]]
- $cq_col_level/rank/link:
?Stars string = [[Level]]/<br />[[Rank]]
- $cq_col_scale:
?Pendulum Scale = [[Pendulum Scale|Scale]]
- $cq_col_link_rating:
- $cq_col_atk:
?ATK string = [[ATK]]
- $cq_col_def:
?DEF string = [[DEF]]
- $cq_col_maximum_atk:
- $cq_col_card_type_st:
- $cq_col_property:
{{{extra_column}}}
:{{{extra_column2}}}
:- $cq_col_extra:
- $cq_col_extra_2:
- limit: 50
- $cq_sort:
#
- $cq_order:
- $cq_default:
- $cq_count: 44962