我在我正在使用的表格上实施TSQL加密。我的SQL太强了,我目前有这个查询:
webview.loadUrl("file:///android_asset/mypicture.jpg");
这很有效。但是,我已经删除了“薪水”。成员表中的列,现在数据加密存储为名为' Salary_Encrypted'。
如何执行子查询
上述查询中的SELECT
a.salary_group,
Count(*) as Count
FROM
(SELECT
(CASE
WHEN Salary BETWEEN 0 and 10000 then '000-010k'
WHEN Salary BETWEEN 10001 and 20000 then '010-020k'
ELSE 'Outstanding'
END) AS 'salary_group'
FROM
Members)a
GROUP BY a.salary_group;
?
谢谢!
答案 0 :(得分:0)
试试这个
SELECT
a.salary_group,
Count(*) as Count
FROM
(SELECT
(CASE
WHEN CONVERT(int, DecryptByKey(Salary_Encrypted)) BETWEEN 0 and 10000 then '000-010k'
WHEN CONVERT(int, DecryptByKey(Salary_Encrypted)) BETWEEN 10001 and 20000 then '010-020k'
ELSE 'Outstanding'
END) AS 'salary_group'
FROM
Members)a
GROUP BY a.salary_group;
答案 1 :(得分:0)
经过一些反复试验后,我最终使用了:
SELECT
a.salary_group,
Count(*) as Count
FROM
(SELECT
(CASE
WHEN b.Salary BETWEEN 0 and 10000 then '000-010k'
WHEN b.Salary BETWEEN 10001 and 20000 then '010-020k'
ELSE 'Outstanding'
END) AS 'salary_group'
FROM
(SELECT
Convert(int, dbo.Decrypt(Salary_Encrypted)) AS 'Salary'
FROM
Members)b
)a
GROUP BY a.salary_group";
我认为这至少比转换每一行更合理,因为我的实际案例陈述有更多案例。