【问题标题】:MySQL - Select result where field is empty or doesn't existsMySQL - 选择字段为空或不存在的结果
【发布时间】:2018-03-28 15:03:25
【问题描述】:

我有一个包含电影和灵活数据的 MySQL 表。并非每部电影都有相同的字段(已填充)。

但是我想做一个查询来查找特定字段为空或不存在的所有电影。

这是我的数据库表的示例:

| id | article_id | fieldname | content          |
|----|------------|-----------|------------------|
| 1  | 1          | title     | Star Wars        |
| 2  | 1          | director  | George Lucas     |
| 3  | 1          | actor     | Harrison Ford    |
|----|------------|-----------|------------------|
| 4  | 2          | title     | Jurassic Park    |
| 5  | 2          | duration  | Jeff Goldblum    |
|----|------------|-----------|------------------|
| 6  | 3          | title     | E.T.             |
| 7  | 3          | actor     |                  |
| 8  | 3          | director  | Steven Spielberg |

如何获取“演员”为空或不存在的所有电影?

【问题讨论】:

  • 你有没有列出fieldname所有可能值的表格?
  • 是的,我知道“fieldname”中可能包含哪些值。
  • 然后 LEFT JOIN 你的 FieldName 表到你的主表,然后 IS NULL 将打印到“丢失”条目。

标签: mysql database select where


【解决方案1】:
SELECT * FROM table_name WHERE content IS NULL AND fieldname = 'actor'

应该可以解决问题。

【讨论】:

    猜你喜欢
    • 2014-04-12
    • 1970-01-01
    • 2012-01-24
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多