2014-12-02 103 views
1

两个表格之间的变化,今天我的客户向我提出了一个要求:向我们报告我们数据库的两个表格之间每日报告的变化。 其实,我在想什么是最好的(也是更聪明)的方式来做到这一点。客户要求:每日报告DB

  • 一个SQL过程?
  • HTML页面?

我不知道该怎么做。我如何标记两个表格之间的变化? 我会尽力解释用一个例子更好:

YESTERDAY TABLE: 

+----+----------+----------+-----------+----------------+ 
| ID | HOSTNAME | IP | STATUS |  NOTE  | 
+----+----------+----------+-----------+----------------+ 
| 01 | TEST_HST |127.0.0.1 | ACTIVE |Lorem Ipsumm | 
+----+----------+----------+-----------+----------------+ 
| 02 | TST2_HST |10.6.10.1 | DOWN |Lorem Ipsumm | 
+----+----------+----------+-----------+----------------+ 
| 03 | TST3_HST |10.6.10.2 | ACTIVE |Lorem Ipsumm | 
+----+----------+----------+-----------+----------------+ 

TODAY TABLE 

+----+----------+----------+-----------+--------------+-----------------------------------+ 
| ID | HOSTNAME | IP | STATUS |  NOTE  |    TODAY_NOTES   | 
+----+----------+----------+-----------+--------------+-----------------------------------+ 
| 01 | TEST_HST |127.0.0.1 | DOWN |Lorem Ipsumm |STATUS: DOWN      | 
+----+----------+----------+-----------+--------------+-----------------------------------+ 
| 02 | TST2_HST |10.6.10.1 | ACTIVE |Bla bla bla |STATUS: ACTIVE, NOTE: Bla bla bla | 
+----+----------+----------+-----------+--------------+-----------------------------------+ 
| 03 | TST3_HST |10.6.10.2 | DOWN |Bla bla BLA |STATUS: DOWN, NOTE; Bla bla BLA | 
+----+----------+----------+-----------+--------------+-----------------------------------+ 

我想作报告(以表格形式)给我的客户,标志着这两个表之间的差异。你认为最好的方法是什么?

感谢所有的支持。

回答

0

像这样的东西应该为你带来新的和新的价值,你如何显示这些数据取决于你。

SELECT yt.*, tt.Status AS NewStatus, tt.Note AS NewNote 
FROM YesterdayTable yt 
INNER JOIN TodaysTable tt 
ON yt.ID = tt.ID 
WHERE vt.Status <> tt.Status OR vt.Note <> tt.Note 

这将使你:

+----+----------+----------+-----------+----------------+ 
| ID | HOSTNAME | IP | STATUS |  NOTE  |NewStatus | NewNote 
+----+----------+----------+-----------+----------------+ 
| 01 | TEST_HST |127.0.0.1 | ACTIVE |Lorem Ipsumm | DOWN  | Lorem Ipsum 
+----+----------+----------+-----------+----------------+ 
| 02 | TST2_HST |10.6.10.1 | DOWN |Lorem Ipsumm | ACTIVE | Bla bla bla 
+----+----------+----------+-----------+----------------+ 
| 03 | TST3_HST |10.6.10.2 | ACTIVE |Lorem Ipsumm | DOWN  | Bla bla bla 
+----+----------+----------+-----------+----------------+ 
+0

谢谢您的回答,我应该给的变化的证据,以我的客户有(也许)一栏“今天笔记”与发现改变或投入“大胆”的领域改变了。任何想法? – Lc0rE 2014-12-02 09:39:52

+0

@l_core这听起来真的是一个新问题。数据库查询和数据样式不应位于相同的问题/答案中。您可以将一个sql数据源添加到Excel工作表中,运行此查询并将最后两列格式化为粗体,作为快速示例。您可以将这些数据作为json返回到您的html页面,使用表插件并将css样式添加到最后两列。取决于要求以及您想要如何/在哪里显示它。 – artm 2014-12-02 09:47:12

+0

再次感谢您的答案。我不认为这是两个单独的问题。我的意思是,我需要一种“方式”来制作这种报告,而不是格式化结果的方式。我需要证明修改后的数据,在我的表格中添加一个“详细”的注释,或者用粗体表示新数据。再次感谢合作。 – Lc0rE 2014-12-02 10:15:49