Database 我需要一个空值作为重复值
我有个问题Database 我需要一个空值作为重复值,database,Database,我有个问题 state_id state_name city_id city_name -------- ---------- ------- ----------- 1 Karnataka 1 Bangalore 1 Karnataka 2 Mysore 1 Karnataka 3 Hubli 2 Maharastra 1
state_id state_name city_id city_name
-------- ---------- ------- -----------
1 Karnataka 1 Bangalore
1 Karnataka 2 Mysore
1 Karnataka 3 Hubli
2 Maharastra 1 abc
2 Maharastra 2 xyz
我应该要求输出如下
state_id state_name city_id city_name
-------- ---------- ------- -----------
1 Karnataka 1 Bangalore
1 null 2 Mysore
1 null 3 Hubli
2 Maharastra 1 abc
2 null 2 xyz
请根据上述参考资料帮助我解决此问题 我已经解决了这个问题 下面是脚本 设置@rn=0; 设置@sid=0; 从t2中选择state_id、city_id、city_name、@sid1:=@sid、@sid:=state_id,IF(IF(@sid1=@sid、@rn:=@rn+1、@rn:=1)=1,state_name,NULL)作为state_name 州id城市id城市名称@sid1:=@sid@sid:=州id城市名称
感谢给出的提示您是否可以分享您所尝试的tag database(SQL Server/Oracle)Use
lag(state_name)over(…)
和一个案例
语句您应该真正标记您正在使用的数据库,因为答案将取决于数据库。
1 1 Bangalore 0 1 Karnataka
1 2 Mysore 1 1 (NULL)
1 3 Hubli 1 1 (NULL)
2 1 abc 1 2 Maharastra
2 2 xyz 2 2 (NULL)