当第一个表中的一个记录链接到第二个表中的多个记录时,从表中选择性地检索数据

乔汉

我有2张桌子:

1.  Tbl_Master: columns:
     a. SEQ_id
     b. M_Email_id
     c. M_location_id
     d. Del_flag

2.  Tbl_User: columns
     a. U_email_id
     b. Last_logged_date
     c. User_id

第一个表是主表,它具有唯一的行,即系统中所有用户的单个记录。每个用户都可以通过每个表中的email_id唯一标识。

一个用户可以有多个配置文件,这意味着对于tblUser表中的一个us_email_id字段,tbl_User中可以有多个user_id,即每个用户在第二个表中可以有多个条目。

现在,我只需要选择之前最后一次登录的用户,比如说“ 2012”,即2012年1月1日之前。

但是,如果一个用户有2个或更多user_id,而一个user_id的last_logged_date小于2012,而另一个user_id的2012年大于,则该用户将被忽略。

最后,通过将主表中的DEL_flag设置为“是”,将所有结果用户标记为删除,例如:

    Record in Tbl_Master:
    A123 [email protected] D234 No
    A123 [email protected] D256 No

    Record in tbl_User can be Like:
    [email protected]  '11-Dec-2011'   Ram1
    [email protected]  '05-Apr-2014'   Ram2
    [email protected] '15-Dec-2010'  John1

在这种情况下,仅应选择约翰的记录,而不应选择其个人资料具有last_logged_date> 2012年1月1日的Ram。

马来语

另一种可能性是

SELECT
    m.M_Email_id,
    MAX(u.Last_logged_date) AS last_login
FROM
    Tbl_Master m
INNER JOIN
    Tbl_User u on u.U_email_id = m.M_Email_id
GROUP BY m.M_Email_id
HAVING
    -- Year(MAX(u.Last_logged_date)) < 2012   -- use the appropriate function of your DBMS
    EXTRACT(YEAR FROM(MAX(u.Last_logged_date))) < 2012 -- should be the version for oracle
 -- see http://docs.oracle.com/cd/B14117_01/server.101/b10759/functions045.htm#i1017161

您的UPDATE操作可以在WHERE子句中使用此选择

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PostgreSQL:从第一个表中选择或替换为第二个表中的数据

来自分类Dev

PostgreSQL:从第一个表中选择或替换为第二个表中的数据

来自分类Dev

根据第一个表中的列在第二个表中插入新记录

来自分类Dev

在表单中,选择第二个表和第一个表

来自分类Dev

MySQL如何从两个表中选择数据,以便第二个表中的行覆盖第一个表中的行?

来自分类Dev

当第二个表引用第一个表中的主键时,如何将记录插入到两个表中?

来自分类Dev

SQL根据第二个表中的值列表从第一个表中选择

来自分类Dev

如何从第二个表中获取多个记录基于使用EF从第一个表中的记录列表

来自分类Dev

如何从第一个表和第二个表中检索所有数据

来自分类Dev

仅当第二个表中不存在记录时,才将记录从第一个表插入第二个表

来自分类Dev

Doctrine 从与第一个表匹配的第二个表中选择最后一条记录

来自分类Dev

在PostgreSQL中从第二个表中选择一个列的多行与第一个表

来自分类Dev

SQL Server:从第一个表链接到第二个表的主键的多个外键

来自分类Dev

SQL Server:从第一个表链接到第二个表的主键的多个外键

来自分类Dev

英孚 根据第二个表中记录的属性从一个表中选择记录,而第二个表中记录的属性为FK

来自分类Dev

当第二个表中的布尔值为TRUE时,用第一个表覆盖第二个表的结果

来自分类Dev

从第一个表中选择所有值,仅从第二个表中选择第一个值

来自分类Dev

根据mongo db中第一个表的结果从第二个表加载数据

来自分类Dev

将第二个CATEGORY表中的第一个表相加

来自分类Dev

Mysql - sql 如何从包含第一个表 ID 的第二个表中获取最小时间和最大时间记录

来自分类Dev

根据第二个表的另一个值(sql)在第一个表中选择一个值

来自分类Dev

MySQL从一个表中选择记录,如果它们的ID和用户名没有出现在第二个表中

来自分类Dev

显示两个表中的数据,但第二个表比第一个表具有更多数据

来自分类Dev

SQL查询检查第一个表中的列或查找第二个表中的行

来自分类Dev

计算第二个表中与第一个表中的ID相匹配的条目

来自分类Dev

第二个表中的第一个日期,其中日期大于表中第一个oracle中的日期

来自分类Dev

SQL 连接,其中第二个表中的值是第一个表中的第一个较低值

来自分类Dev

mysql连接表,其中第一个表中的字段作为第二个表中的多个值

来自分类Dev

Mysql 按第一个表日期分组并计算第二个表中的不同字段

Related 相关文章

  1. 1

    PostgreSQL:从第一个表中选择或替换为第二个表中的数据

  2. 2

    PostgreSQL:从第一个表中选择或替换为第二个表中的数据

  3. 3

    根据第一个表中的列在第二个表中插入新记录

  4. 4

    在表单中,选择第二个表和第一个表

  5. 5

    MySQL如何从两个表中选择数据,以便第二个表中的行覆盖第一个表中的行?

  6. 6

    当第二个表引用第一个表中的主键时,如何将记录插入到两个表中?

  7. 7

    SQL根据第二个表中的值列表从第一个表中选择

  8. 8

    如何从第二个表中获取多个记录基于使用EF从第一个表中的记录列表

  9. 9

    如何从第一个表和第二个表中检索所有数据

  10. 10

    仅当第二个表中不存在记录时,才将记录从第一个表插入第二个表

  11. 11

    Doctrine 从与第一个表匹配的第二个表中选择最后一条记录

  12. 12

    在PostgreSQL中从第二个表中选择一个列的多行与第一个表

  13. 13

    SQL Server:从第一个表链接到第二个表的主键的多个外键

  14. 14

    SQL Server:从第一个表链接到第二个表的主键的多个外键

  15. 15

    英孚 根据第二个表中记录的属性从一个表中选择记录,而第二个表中记录的属性为FK

  16. 16

    当第二个表中的布尔值为TRUE时,用第一个表覆盖第二个表的结果

  17. 17

    从第一个表中选择所有值,仅从第二个表中选择第一个值

  18. 18

    根据mongo db中第一个表的结果从第二个表加载数据

  19. 19

    将第二个CATEGORY表中的第一个表相加

  20. 20

    Mysql - sql 如何从包含第一个表 ID 的第二个表中获取最小时间和最大时间记录

  21. 21

    根据第二个表的另一个值(sql)在第一个表中选择一个值

  22. 22

    MySQL从一个表中选择记录,如果它们的ID和用户名没有出现在第二个表中

  23. 23

    显示两个表中的数据,但第二个表比第一个表具有更多数据

  24. 24

    SQL查询检查第一个表中的列或查找第二个表中的行

  25. 25

    计算第二个表中与第一个表中的ID相匹配的条目

  26. 26

    第二个表中的第一个日期,其中日期大于表中第一个oracle中的日期

  27. 27

    SQL 连接,其中第二个表中的值是第一个表中的第一个较低值

  28. 28

    mysql连接表,其中第一个表中的字段作为第二个表中的多个值

  29. 29

    Mysql 按第一个表日期分组并计算第二个表中的不同字段

热门标签

归档