繁体   English   中英

Mysql JOIN子查询

[英]Mysql JOIN subquery

我应该如何查询

  • 我有(table1)行,在其他表中可以没有任何行或几行引用它
  • 这些引用(表2)行的colum1可以为null或日期

我想让table1中的所有行都具有table2中的所有列column1不为null或根本没有任何行。

当然,基本的sql是这样的:

SELECT table1.* FROM table1 JOIN table2 ON table2.id = table1.table2_id

但是接下来呢?

您可以像SUM(CASE WHEN table2.col IS NULL THEN 1 ELSE 0 END) AS nullcount这样的查询来计算查询中null的出现, SUM(CASE WHEN table2.col IS NULL THEN 1 ELSE 0 END) AS nullcount ,我假设table2.col是其中日期为null的那个

SELECT 
  table1.*,
  SUM(
    CASE
      WHEN table2.col IS NULL 
      THEN 1 
      ELSE 0 
    END
  ) AS nullcount 
FROM
  table1 
  JOIN table2 
    ON table2.id = table1.table2_id 
HAVING nullcount > 0 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM