【问题标题】:Select rows that are not present in another table on a specified date选择指定日期在另一个表中不存在的行
【发布时间】:2017-08-08 18:47:18
【问题描述】:

我正在使用两个表(ft_form_1 和 ft_field_options)。

ft_form_1

      submission_id  facility_id    admits  reporting_date    timestamp
        1              111A         8       2017-03-30 00:00  2017-03-30 17:50:11
        2              111A         1       2017-03-31 00:00  2017-03-31 17:53:17
        3              222B         3       2017-03-31 00:00  2017-03-31 18:42:20
        4              333C         6       2017-03-31 00:00  2017-03-31 19:27:47
        5              222B         0       2017-04-01 00:00  2017-04-01 18:12:12
        6              333C         4       2017-03-31 00:00  2017-04-01 19:38:25
        7              333C         5       2017-04-01 00:00  2017-04-01 20:31:16

ft_field_options

    list_id option_order    option_value    option_name
    1       4               111A            New York
    1       2               222B            Chicago
    1       1               333C            Boston
    1       3               444D            Miami

我想在 ft_field_options 表(list_id = 1)中显示所有在 ft_form_1 表中没有提交报告日期为 2017 年 4 月 1 日的设施。每个设施应该只出现一次。实际上,我想查看“昨天”的报告日期。再次感谢帮助 mysql 新手

    facility_id option_name option_order    
    111A        New York    3             

匹配 ft_form_1.facility_id 和 ft_field_options.option_value

【问题讨论】:

标签: mysql list join unique


【解决方案1】:

2个表之间的主键-外键关系是什么?没有一列是常见的。

【讨论】:

  • 我假设加入:ft_form_1.facility_id & ft_field_options.option_value
  • SELECT DISTINCT ft_form_1.facility_id, ft_field_options.option_name, ft_field_options.option_order FROM ft_form_1 INNER JOIN ft_field_options ON ft_form_1.facility_id = ft_field_options.option_value WHERE ft_form_1.facility_id ft_id from ft_form_1 WHEREE ft_form ft_form_1 WHERE报告日期 = #04/01/2017#);
  • 这有帮助吗?
  • 这似乎不起作用。我也没有看到任何关于 list_id=1 的信息。谢谢! sqlfiddle.com/#!9/e5972/3/0
  • list_id = 1 可以进一步添加到 WHERE 子句中:SELECT DISTINCT ft_form_1.facility_id、ft_field_options.option_name、ft_field_options.option_order FROM ft_form_1 INNER JOIN ft_field_options ON ft_form_1.facility_id = ft_field_options.option_value WHERE ft_field_options。 1 AND ft_form_1.facility_id 不在(从 ft_form_1 WHERE ft_form_1.reporting_date = #04/01/2017# 中选择 ft_form_1.facility_id);
猜你喜欢
  • 2021-06-14
  • 2017-06-24
  • 1970-01-01
  • 2014-04-10
  • 1970-01-01
  • 2011-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多