如何加入我的结果集和第三张表?

解析疯子

我试图找出如何执行JOIN的方法,其中我从以下结果集(查询1)返回所有记录a.ssan = c.ssn

查询1:

SELECT 
a.memno, 
a.name, 
a.addr1, 
a.addr2, 
a.city, 
a.state, 
a.zip, 
a.sex, 
a.lname, 
a.ssan, 
b.addr1 as old_addr1, 
b.addr2 as old_addr2, 
b.city as old_city, 
b.state as old_state, 
b.zip as old_zip, 
b.timec 

FROM Lib1.Table1 a, Lib1.Table2 b 

WHERE 
a.memno = b.memno and 
b.groupid = 'P2' and 
b.type = 'B' and 
b.datec = 20131206 AND 
(a.addr1 <> b.addr1 or 
a.addr2 <> b.addr2 or 
a.city <> b.city or 
a. state <> b.state or 
a.zip <> b.zip)

表C字段:

SSN
DATEC
TIMEC
PRINT_OLD
PRINT_NEW

我正在为新地址和旧地址生成邮件合并文档,以提醒成员其帐户上的地址更改。制作新的地址信函时,我会在TABLEC设置除以外的所有字段的值时运行插入PRINT_OLD示例数据为:

SSN: 123456789; 
DATEC: 20131206; 
TIMEC: 133000; 
PRINT_NEW: 2013-12-06-13.30.00.965000; 
PRINT_OLD: NULL;

然后几天后,当要打印OLD地址字母时,我需要运行上面的第一个查询并结合一个JOINon TTABLEC来显示那些PRINT_OLD字段为NULL的记录,表示当天已经打印了NEW Address字母。 ,但OLD Address Letter没有。

谁能帮我解决这个问题?在数据库查询方面,我并不是最强的。

菲利普·席尔瓦(Filipe Silva)

你可以做:

SELECT *
FROM tableC c
INNER JOIN (
  SELECT a.memno,
    a.NAME,
    a.addr1,
    a.addr2,
    a.city,
    a.STATE,
    a.zip,
    a.sex,
    a.lname,
    a.ssan,
    b.addr1 AS old_addr1,
    b.addr2 AS old_addr2,
    b.city AS old_city,
    b.STATE AS old_state,
    b.zip AS old_zip,
    b.timec
  FROM Lib1.Table1 a
  INNER JOIN Lib1.Table2 b ON a.memno = b.memno
  WHERE b.groupid = 'P2'
    AND b.type = 'B' AND b.datec = 20131206
    AND (
      a.addr1 <> b.addr1 OR a.addr2 <> b.addr2
      OR a.city <> b.city OR a.STATE <> b.STATE
      OR a.zip <> b.zip)
  ) a ON a.ssan = c.ssn
WHERE c.print_old IS NULL

注意:我还将您的JOIN更改为显式的INNER JOIN。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Query: JOIN 三张表然后加入第三张表后不显示结果

来自分类Dev

使用第三张表定义我的选择

来自分类Dev

如何通过第三张表Laravel选择?

来自分类Dev

如何显示条件来自第三张表的LEFT JOIN结果?

来自分类Dev

如何显示条件来自第三张表的LEFT JOIN结果?

来自分类Dev

避免第三张表相乘的结果

来自分类Dev

mysql join按第三张表的平均排序结果?

来自分类Dev

填充第三张表以保持效率

来自分类Dev

从第三张表中获取记录

来自分类Dev

Oracle SQL获取第三张表的参考

来自分类Dev

Laravel从第三张表返回属性

来自分类Dev

通过查看第三张表找出两个表是如何连接的

来自分类Dev

第二和第三张表中具有最高值的行

来自分类Dev

第二和第三张表中具有最高值的行

来自分类Dev

如何在Entity Framework中向第三张表添加额外的列?

来自分类Dev

如何从多对多关系中获取数据在symfony原则中的第三张表

来自分类Dev

如何在Laravel中使用hasOne关系查询第三张表?

来自分类Dev

如何使用phpexcel在第三张表中总结两张不同的excel表

来自分类Dev

如何从第二张表到第三张表共有的第三张表共有的第二列中获取数据列?

来自分类Dev

Mysql根据两张表的数据在第三张表中插入数据

来自分类Dev

如何使用第二张表中的ID更新第三张表中的ID来匹配第二张表中的MSSQL表值?

来自分类Dev

在第三张表中联接两个表数据

来自分类Dev

Laravel雄辩的关系,而不是与父表无关的第三张表上的Join

来自分类Dev

使用来自第三张表的共享ID更新具有空列的表和来自另一张表的数据

来自分类Dev

使用来自第三张表的共享ID更新具有空列的表和来自另一张表的数据

来自分类Dev

在第三张表中有条件的左外联接

来自分类Dev

防止在第三张表中违反FK约束的约束

来自分类Dev

来自第三张表的SQL Join 2案例

来自分类Dev

Ruby Spreadsheet gem格式单元格停止在第三张工作表

Related 相关文章

  1. 1

    SQL Query: JOIN 三张表然后加入第三张表后不显示结果

  2. 2

    使用第三张表定义我的选择

  3. 3

    如何通过第三张表Laravel选择?

  4. 4

    如何显示条件来自第三张表的LEFT JOIN结果?

  5. 5

    如何显示条件来自第三张表的LEFT JOIN结果?

  6. 6

    避免第三张表相乘的结果

  7. 7

    mysql join按第三张表的平均排序结果?

  8. 8

    填充第三张表以保持效率

  9. 9

    从第三张表中获取记录

  10. 10

    Oracle SQL获取第三张表的参考

  11. 11

    Laravel从第三张表返回属性

  12. 12

    通过查看第三张表找出两个表是如何连接的

  13. 13

    第二和第三张表中具有最高值的行

  14. 14

    第二和第三张表中具有最高值的行

  15. 15

    如何在Entity Framework中向第三张表添加额外的列?

  16. 16

    如何从多对多关系中获取数据在symfony原则中的第三张表

  17. 17

    如何在Laravel中使用hasOne关系查询第三张表?

  18. 18

    如何使用phpexcel在第三张表中总结两张不同的excel表

  19. 19

    如何从第二张表到第三张表共有的第三张表共有的第二列中获取数据列?

  20. 20

    Mysql根据两张表的数据在第三张表中插入数据

  21. 21

    如何使用第二张表中的ID更新第三张表中的ID来匹配第二张表中的MSSQL表值?

  22. 22

    在第三张表中联接两个表数据

  23. 23

    Laravel雄辩的关系,而不是与父表无关的第三张表上的Join

  24. 24

    使用来自第三张表的共享ID更新具有空列的表和来自另一张表的数据

  25. 25

    使用来自第三张表的共享ID更新具有空列的表和来自另一张表的数据

  26. 26

    在第三张表中有条件的左外联接

  27. 27

    防止在第三张表中违反FK约束的约束

  28. 28

    来自第三张表的SQL Join 2案例

  29. 29

    Ruby Spreadsheet gem格式单元格停止在第三张工作表

热门标签

归档