根据另一个表中的重复项合并一个表中的行

瑞安·格雷(Ryan Gray)

我有一个表table1可能是这样的,凡有可能在2场重复CnumberDob再独特pkSID

pkSID     Cnumber     Dob  
1         12345       01/02/2002
2         12345       01/02/2002
3         12345       01/02/2002
4         12345       01/02/2002
5         12345       01/02/2002

在中可能会多次出现这种情况table1然后,我有另一个表引用pkSID,并且我想合并这些行,以便它们都只引用pkSIDin中的一个table1,因此table2最初看起来像这样:

pkSTID    fkSID    OtherVal1    OtherVal2
1         1        s            x
2         2        t            f
3         3        a            d
4         4        v            g
5         5        b            z

然后合并后:

pkSTID    fkSID    OtherVal1    OtherVal2
1         1        s            x
2         1        t            f
3         1        a            d
4         1        v            g
5         1        b            z

我如何找到这些行table1然后合并到其中table2

萨加尔·谢尔克(Sagar Shelke)

试试看:
注意:我正在考虑pkSID相对于Cnumber和Dob是连续的

CREATE TABLE #TABLE1(pkSID INT,Cnumber INT,Dob  DATE)

INSERT INTO #TABLE1
SELECT 1, 12345, '01/02/2002' UNION ALL 
SELECT 2, 12345, '01/02/2002' UNION ALL 
SELECT 3, 12345, '01/02/2002' UNION ALL 
SELECT 4, 12345, '01/02/2002' UNION ALL 
SELECT 5, 12345, '01/02/2002'

CREATE TABLE #TABLE2(pkSTID INT,fkSID INT,OtherVal1  VARCHAR(10),OtherVal2 VARCHAR(10))

INSERT INTO #TABLE2
SELECT 1, 1, 's', 'x' UNION ALL
SELECT 2, 2, 't', 'f' UNION ALL
SELECT 3, 3, 'a', 'd' UNION ALL
SELECT 4, 4, 'v', 'g' UNION ALL
SELECT 5, 5, 'b', 'z'


SELECT  T2.pkSTID, T3.min_pkSID fkSID, T2.OtherVal1 , T2.OtherVal2 
FROM #TABLE2 T2
INNER JOIN 
(
    SELECT  MIN(T1.pkSID) min_pkSID, MAX(T1.pkSID) max_pkSID FROM #TABLE1 T1 GROUP BY T1.Cnumber, T1.Dob --T1 ON T2.fkSID = T1.pkSID
)T3 
ON T2.fkSID BETWEEN T3.min_pkSID AND T3.max_pkSID

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何更新一个表中的行,而另一个表中有重复项

来自分类Dev

根据一个键消除所有重复项,并保留一个表中没有在另一个表中的记录

来自分类Dev

如何根据另一个表的值删除一个表中的行

来自分类Dev

从一个表中删除重复项(一个和另一个除外)

来自分类Dev

SQL:检查一个表中是否存在另一个表中的条目,并删除重复项

来自分类Dev

如何根据另一个表中的值访问表中的一行?

来自分类Dev

根据另一个表中的值在一个表中定义变量

来自分类Dev

根据另一个表中的条件更新一个表中的列

来自分类Dev

根据另一个表中的值更新一个表中的字段

来自分类Dev

MySql根据另一个表中的MAX值选择一个表中的所有行

来自分类Dev

根据另一个表中的更改更新,插入和删除表中的行

来自分类Dev

SQL根据另一个表中的搜索结果在表中查找行

来自分类Dev

一个表的DROP列,根据另一个表中的值

来自分类Dev

Excel根据另一个表中的位置生成一个表

来自分类Dev

根据另一个表的 id 计算一个表中的行数

来自分类Dev

从另一个表中返回总和与重复项

来自分类Dev

用另一个表中的重复行更新表

来自分类Dev

根据另一个表中的关键字从一个表中选择行

来自分类Dev

根据另一个表中的选定行从一个表中选择数据

来自分类Dev

根据另一个表中的数据从表中选择行

来自分类Dev

根据另一个表中的数据从表中选择行

来自分类Dev

根据另一个表中值之间的差异删除SQL表中的行

来自分类Dev

如何根据另一个表中的最新结果选择没有重复的结果?

来自分类Dev

根据另一个表的列中的每个值重复相同的数据

来自分类Dev

MySQL:将另一个表中的2行合并为一个结果行

来自分类Dev

根据当前插入的行在另一个表中创建一行

来自分类Dev

将行与MAX行合并到Impala的另一个表中?

来自分类Dev

从另一个表中减去一个表的行

来自分类Dev

如何更新从另一个表中的一个表删除的行?

Related 相关文章

  1. 1

    如何更新一个表中的行,而另一个表中有重复项

  2. 2

    根据一个键消除所有重复项,并保留一个表中没有在另一个表中的记录

  3. 3

    如何根据另一个表的值删除一个表中的行

  4. 4

    从一个表中删除重复项(一个和另一个除外)

  5. 5

    SQL:检查一个表中是否存在另一个表中的条目,并删除重复项

  6. 6

    如何根据另一个表中的值访问表中的一行?

  7. 7

    根据另一个表中的值在一个表中定义变量

  8. 8

    根据另一个表中的条件更新一个表中的列

  9. 9

    根据另一个表中的值更新一个表中的字段

  10. 10

    MySql根据另一个表中的MAX值选择一个表中的所有行

  11. 11

    根据另一个表中的更改更新,插入和删除表中的行

  12. 12

    SQL根据另一个表中的搜索结果在表中查找行

  13. 13

    一个表的DROP列,根据另一个表中的值

  14. 14

    Excel根据另一个表中的位置生成一个表

  15. 15

    根据另一个表的 id 计算一个表中的行数

  16. 16

    从另一个表中返回总和与重复项

  17. 17

    用另一个表中的重复行更新表

  18. 18

    根据另一个表中的关键字从一个表中选择行

  19. 19

    根据另一个表中的选定行从一个表中选择数据

  20. 20

    根据另一个表中的数据从表中选择行

  21. 21

    根据另一个表中的数据从表中选择行

  22. 22

    根据另一个表中值之间的差异删除SQL表中的行

  23. 23

    如何根据另一个表中的最新结果选择没有重复的结果?

  24. 24

    根据另一个表的列中的每个值重复相同的数据

  25. 25

    MySQL:将另一个表中的2行合并为一个结果行

  26. 26

    根据当前插入的行在另一个表中创建一行

  27. 27

    将行与MAX行合并到Impala的另一个表中?

  28. 28

    从另一个表中减去一个表的行

  29. 29

    如何更新从另一个表中的一个表删除的行?

热门标签

归档