mysql在一个查询中具有不同记录的两个表

阿吉特·辛格(Ajit Singh)

需要显示特定用户在该目标月份完成了多少billing_amount?我有两个表,一个是目标表,另一个是closure_emp。

SELECT fk_user_id,target_month,target 
FROM `target` 
WHERE fk_user_id='31' and target_month > DATE_SUB(now(), INTERVAL 6 MONTH)

这显示了6条记录

fk_user_id     target_month  target 
31           2013-08-01  100000
31           2013-09-01  100000
31           2013-10-01  120000
31           2013-11-01  120000
31           2013-12-01  120000

SELECT * 
FROM `closure_employee` 
WHERE ce_recruiter_id='31' and offer_date > DATE_SUB(now(), INTERVAL 7 MONTH)

显示2条记录

  user_id billing_amount offer_date     joining_date    
    31     390000     2013-08-30    2-09-2013
    31     208354     2013-09-30    25-11-2013

我需要查询以将两个表都显示在一个表中,如下所示

 fk_user_id  target_month    target  user_id  billing_amount
    31      2013-08-01   100000   31          390000
    31      2013-09-01   100000   31          208354
    31      2013-10-01   120000   31            null
    31      2013-11-01   120000   31            null
    31      2013-12-01   120000   31            null

请帮我。

塔林

看来您可以通过LEFT JOIN在表之间使用a来获得结果由于您要返回target表中的所有行,因此您将LEFT JOINclosure_employee上找到该表user_id

为了正确分配billing_amount从每一行target,你就需要使用month()值的target_monthoffer_date-这也将是你的连接条件的一部分。

该查询将类似于以下内容:

select t.fk_user_id,
  t.target_month,
  t.target,
  e.user_id,
  e.billing_amount
from target t
left join closure_employee e
  on t.fk_user_id = e.user_id
  and month(t.target_month) = month(e.offer_date)
  and e.offer_date > DATE_SUB(now(), INTERVAL 7 MONTH)
where t.target_month > DATE_SUB(now(), INTERVAL 6 MONTH);

请参阅带有演示的SQL Fiddle您会注意到,offer_date返回前7个月过滤器已添加到联接条件中,而不是where子句中-这样做仍将返回该closure_employee时间范围内的行,但也会返回target表中的所有行这似乎是您想要的行为。

如果您需要通过ce_recruiter_id添加过滤器,fk_user_id则可以将上述查询更改为:

select t.fk_user_id,
  t.target_month,
  t.target,
  e.user_id,
  e.billing_amount
from target t
left join closure_employee e
  on t.fk_user_id = e.user_id
  and month(t.target_month) = month(e.offer_date)
  and e.offer_date > DATE_SUB(now(), INTERVAL 7 MONTH)
  and e.ce_recruiter_id='31'
where t.target_month > DATE_SUB(now(), INTERVAL 6 MONTH)
  and t.fk_user_id='31'

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

mysql查询加入,比较两个表并返回第一个表中的所有记录

来自分类Dev

如何在一个查询中更新来自不同表的两个记录?

来自分类Dev

在一个查询中从具有两个外键的一个表中进行选择

来自分类Dev

MySQL数据库在一个表中具有两个外键

来自分类Dev

从两个不同的表中选择一个查询Access数据库中具有不同字段的列

来自分类Dev

从两个不同的表中选择一个查询Access数据库中具有不同字段的列

来自分类Dev

具有相同WHERE子句的同一个表上的两个不同查询

来自分类Dev

oracle 将两个不同表中的记录插入到一个表中

来自分类Dev

使用两个不同的查询和具有PIVOT的同一表创建一个VIEW,但又增加一个不同的列

来自分类Dev

将两个表合并为一个表,两个表具有不同的where子句

来自分类Dev

MySQL 查询根据来自两个不同表的值选择一个表。

来自分类Dev

SQL查询将具有相同列名的两个表合并到一个表中

来自分类Dev

SQL查询从两个表中获取不同的记录

来自分类Dev

SQL查询从两个表中获取不同的记录

来自分类Dev

构造一个SQL查询,该查询包含一个表中的两个记录的结果

来自分类Dev

如何将两个不同的mysql查询的结果合并到一个表中

来自分类Dev

将两个不同表中的记录插入一个

来自分类Dev

在MySQL中的一个查询中计算两个不同的总和与两个不同的地方

来自分类Dev

从具有两个不同条件的另一个工作表中筛选信息

来自分类Dev

在一个查询中从两个不同的表中获取数据

来自分类Dev

MYSQL合并具有不同条目记录数的两个表的视图

来自分类Dev

连接两个表-一个具有不同值的公用列

来自分类Dev

在一个查询中从两个表中选择一个记录,并从另一个表中选择多个记录

来自分类Dev

如何从一个表中合并两个不同查询的结果

来自分类Dev

如何将两个不同的查询合并到一个表中?

来自分类Dev

如何在一个查询中更新两个不同的表?

来自分类Dev

PHP & MYSQL:在两个不同的表中插入记录

来自分类Dev

PHP:在一个查询中的两个表

来自分类Dev

在一个查询中搜索两个表

Related 相关文章

  1. 1

    mysql查询加入,比较两个表并返回第一个表中的所有记录

  2. 2

    如何在一个查询中更新来自不同表的两个记录?

  3. 3

    在一个查询中从具有两个外键的一个表中进行选择

  4. 4

    MySQL数据库在一个表中具有两个外键

  5. 5

    从两个不同的表中选择一个查询Access数据库中具有不同字段的列

  6. 6

    从两个不同的表中选择一个查询Access数据库中具有不同字段的列

  7. 7

    具有相同WHERE子句的同一个表上的两个不同查询

  8. 8

    oracle 将两个不同表中的记录插入到一个表中

  9. 9

    使用两个不同的查询和具有PIVOT的同一表创建一个VIEW,但又增加一个不同的列

  10. 10

    将两个表合并为一个表,两个表具有不同的where子句

  11. 11

    MySQL 查询根据来自两个不同表的值选择一个表。

  12. 12

    SQL查询将具有相同列名的两个表合并到一个表中

  13. 13

    SQL查询从两个表中获取不同的记录

  14. 14

    SQL查询从两个表中获取不同的记录

  15. 15

    构造一个SQL查询,该查询包含一个表中的两个记录的结果

  16. 16

    如何将两个不同的mysql查询的结果合并到一个表中

  17. 17

    将两个不同表中的记录插入一个

  18. 18

    在MySQL中的一个查询中计算两个不同的总和与两个不同的地方

  19. 19

    从具有两个不同条件的另一个工作表中筛选信息

  20. 20

    在一个查询中从两个不同的表中获取数据

  21. 21

    MYSQL合并具有不同条目记录数的两个表的视图

  22. 22

    连接两个表-一个具有不同值的公用列

  23. 23

    在一个查询中从两个表中选择一个记录,并从另一个表中选择多个记录

  24. 24

    如何从一个表中合并两个不同查询的结果

  25. 25

    如何将两个不同的查询合并到一个表中?

  26. 26

    如何在一个查询中更新两个不同的表?

  27. 27

    PHP & MYSQL:在两个不同的表中插入记录

  28. 28

    PHP:在一个查询中的两个表

  29. 29

    在一个查询中搜索两个表

热门标签

归档