嗨,你能帮我们在我的SQL CASE声明中,或者我将如何操纵数据。我试图找到我的行值的相同值..如果它们相同,则在我的数据库中给出一个值为1的临时列。 恩。这是我的表
id company
------|-----------
1 | Inzpect
2 | Meralco
3 | Ginebra
4 | Inzpect
我的sql是
SELECT company, (CASE WHEN company = 'Inzpect' THEN 1 ELSE 0 END) AS external_customer FROM tbl_reports
结果是
company external
---------|-----------
Inzpect | 1
Meralco | 0
Ginebra | 0
Inzpect | 1
但我如何操纵我将不再使用' Inzpect' CASE中的字符串,并将其更改为另一个语句,该语句将自动查找相同的行值而无需手动设置值。
CASE WHEN company = 'Inzpect'
答案 0 :(得分:1)
这就是你想要的:
SELECT
t1.company,
CASE WHEN t2.company IS NOT NULL THEN 1 ELSE 0 AS external
FROM tbl_reports t1
LEFT JOIN
(
SELECT company
FROM tbl_reports
GROUP BY company
HAVING COUNT(*) > 1
) t2
ON t1.company = t2.company