我使用Chartio创建仪表板。我可以使用Chartio的变量来填充MySQL查询的各个部分,然后抽出一个很酷的图表。我有一种情况,我需要一个查询,可以有3个变量X,Y,Z的任意组合,如下所示。
SELECT SUM(LENGTH) as LENGTH,
SUM(ISNULL(LENGTH_INSPECTED,0))/SUM(LENGTH) as PERCENT_INSPECTED,
TYPE
FROM
ACTIVE_TRANSPORTATION A
LEFT JOIN INSPECTION B
ON A.ATN_ID = B.ATN_ID
GROUP BY TYPE
我需要能够让查询“确定”如果我只给它X,则忽略Y和Z作为条件。或者,如果我给它X和Y,忽略Z.我可以给它任意组合这三个。 “忽略”我的意思是不要将它用作WHERE子句中的条件。
这是否可以使用OR? REGEXP?通配符? ...?我不是很精通MySQL。提前致谢
答案 0 :(得分:1)
如果在用户离开字段时将变量设置为空字符串,则可以写:
SELECT orderid
FROM orders
WHERE (X = '' OR productcode = X) AND
(Y = '' OR status = Y) AND
(Z = '' OR date = Z);