Mysql 使用sql if else使表中的数据匿名化更加简单
该表输出四列,我接受一个参数cid,我希望公司名称的列都设置为XXXXXX,但不希望包含cid的行Mysql 使用sql if else使表中的数据匿名化更加简单,mysql,sql,if-statement,parameters,anonymous,Mysql,Sql,If Statement,Parameters,Anonymous,该表输出四列,我接受一个参数cid,我希望公司名称的列都设置为XXXXXX,但不希望包含cid的行 select x1.CompanyID, x1.CompanyName,x1.averagesurveyscore as Company_Score, x1.Totalticket as Total_Tickets from @table1 x1 where x1.companyid = @cid 因此,在“公司名称”列中,几乎将所有非cid的数据都设置为XXXXXX,参数中给出的
select x1.CompanyID, x1.CompanyName,x1.averagesurveyscore as Company_Score, x1.Totalticket as Total_Tickets
from @table1 x1
where x1.companyid = @cid
因此,在“公司名称”列中,几乎将所有非cid的数据都设置为XXXXXX,参数中给出的公司除外。我不想让任何人看到公司的名字
这个问题很模糊,至少对我来说是这样,但你可以尝试使用
案例
select x1.CompanyID
, case when x1.CompanyName = @cid then x1.CompanyName else 'XXXXXX' end
, x1.averagesurveyscore as Company_Score
, x1.Totalticket as Total_Tickets
from @table1 x1
如果我想对另一列也这样做,我会把它放在同一个case语句中还是创建一个新的case语句?@bigdowg:你应该使用另一个。
select x1.CompanyID,
IF (x1.companyid = @cid, x1.CompanyName, 'XXX') AS CompanyName,
x1.averagesurveyscore as Company_Score,
x1.Totalticket as Total_Tickets
from @table1 x1