我在此网站找到了我的查询解决方案。我需要从多个表Select count(*) from multiple tables
中获取count(*)值我的另一个问题是获取那些返回>的多个表的DATE值。 1行计数。我必须比较日期并获得最新信息。我必须从12个表中查询。假设我得到了>表1,2,3,4,5的值为1,我需要比较它们的DATE值。 示例代码:
SELECT(SELECT COUNT(*) FROM table1) AS count1,
(SELECT COUNT(*) FROM table2) AS count2,
(SELECT COUNT(*) FROM table3) AS count3 FROM dual
count1 count2 count3
3 2 2
我需要在这些表中选择最近的日期。
Select date from table1 order by date desc
Select date from table2 order by date desc
Select date from table3 order by date desc
如果没有桌面扫描,我该怎么办呢?
修改 好的。说明说 “使用id作为键从表1-12获取匹配的记录”。 如果没有记录,则显示“未找到记录” 另外:通过比较所有表格中的data_encoded来获取最新日期的记录。
答案 0 :(得分:3)
很难说出你追求的是什么,但这是一个猜测:
SELECT
(SELECT MAX(date) FROM table1) AS latest1,
(SELECT MAX(date) FROM table2) AS latest2,
(SELECT MAX(date) FROM table3) AS latest3,
-- etc
FROM dual;
您可以通过在date
上设置索引来避免表扫描,在这种情况下,优化器应该执行仅索引扫描(非常快)。
答案 1 :(得分:0)
您是否尝试对它们进行分组并订购并选择第一个日期
选择ID,日期,计数(日期) 来自table1 t1 内连接table2 t2其中t1.id = t2.id 内连接table3 t3其中t1.id = t3.id 等等.. 按日期分组 按日期排序desc
长的那条线