Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 我需要一个空值作为重复值_Database - Fatal编程技术网

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)