我有5个或更多表用于日志。
- tbl_product_log
- tbl_user_log
- tbl_customer_log
- tbl_vendor_log
- tbl_quotations_logs
醇>
他们彼此没有关系。但是它们具有相同的列层次结构。
- LOGID
- logdetails
- logdatetime
醇>
每当这些表格中发生了某些事情(例如“插入”,“删除”,更新)时,会在日志的相对表格中插入一条记录。
现在我想在一个页面中显示所有日志。其中有6个标签。
- 所有日志
- 产品日志
- 用户登录
- 客户登录
- 供应商日志
- 报价日志
醇>
喜欢这个
在每个标签中,例如(products logs, user logs, customer logs ....)
我成功地获得了所有日志数据。
现在,我想在All
标签中显示所有日志数据,就像在其他标签中一样。
我尝试了自己的查询,但它分别向我展示了所有内容。
这是我的查询
SELECT * FROM tbl_product_log, tbl_user_log, tbl_customer_log, tbl_vendor_log, tbl_quotations_logs Limit 20
这是结果
所以请告诉我如何实现这一点,所有日志数据只显示在All tab
中,只有三列,其他标签显示结果只有一个查询。
跳过你理解我的问题。
答案 0 :(得分:2)
使用union连接所有表
(Select * From tbl_product_log LIMIT 5)
union
(Select * From tbl_user_log LIMIT 5)
union
(Select * From tbl_customer_log LIMIT 5)
union
(Select * From tbl_vendor_log LIMIT 5)
union
(Select * From tbl_quotation_log LIMIT 5);
注意:此查询将产生总共25条记录
答案 1 :(得分:1)
试试这个
private void UserControl_Unloaded(object sender, RoutedEventArgs e)
{
WebBrowser.Dispose();
}
答案 2 :(得分:0)
尝试使用UNION
SELECT * FROM
(SELECT logid, logdetails,logdatetime, '1' as identifier FROM tbl_product_log) as a
UNION ALL
(SELECT logid, logdetails,logdatetime, '2' as identifier FROM tbl_user_log) as b
UNION ALL
(SELECT logid, logdetails,logdatetime, '3' as identifier FROM tbl_customer_log) as c
UNION ALL
(SELECT logid, logdetails,logdatetime, '4' as identifier FROM tbl_vendor_log) as d
UNION ALL
(SELECT logid, logdetails,logdatetime, '5' as identifier FROM tbl_quotations_logs) as e
-- WHERE indentifier = '' //in here you can put here to filter what report you wanted to appear
ORDER BY logid // Order it by Logid
LIMIT 20 //change the limit
在与其他表结合的每个表上放置一个标识符,这样您仍然可以控制数据的来源。