douwo1517 2013-03-04 16:25
浏览 414
已采纳

SQL:如果一个表为空,为什么多个表中的Max()会为所有内容返回NULL?

I have a MySQL 5.1.44 Database that I'm using with PHP 5.3.1.

SELECT MAX(t1.tstamp) AS tstamp1, MAX(t2.tstamp) AS tstamp2 FROM table1 t1, table2 t2;

This works perfectly well if both tables contain content, but it returns NULL for both (!) even if only one of the tables is empty. Why does it not simply return the correct value for table1 and null for table2?

  • 写回答

4条回答 默认 最新

  • doubu1970 2013-03-04 16:31
    关注

    Use two queries - cross join with an empty table will result zero rows

    Something like this should do the work

    SELECT
        (SELECT MAX(tstamp) FROM table1) AS tstamp1,
        (SELECT MAX(tstamp) FROM table2) AS tstamp2;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog