如何使用下面的SQL将3个表组合在一起?SQL查询组合表
----------- ----------- -----------
AdminAccLog StaffAccLog PublicAccLog
----------- ----------- -----------
id id id
name name name
ipaddress ipaddress ipaddress
datetime datetime datetime
task task task
---------------------------------------
数据
AdminAccLog 1 ABC 127.0.0.1 30/7/2017 0:00:00AM Logon
AdminAccLog 2 ABC 127.0.0.1 30/7/2017 1:00:00AM Logon
AdminAccLog 3 ABC 127.0.0.1 31/7/2017 0:00:00AM Logon
StaffAccLog 1 ABC 127.0.0.1 31/7/2017 0:00:00AM Logon
PublicAccLog 1 ABC 127.0.0.1 31/7/2017 0:00:00AM Logon
SQL查询
SELECT COUNT(*) AS PublicCount, CONVERT(DATE, datetime) AS PublicDate
FROM PublicAccLog WHERE task = 'Logon'
GROUP BY CONVERT(DATE, datetime)
SELECT COUNT(*) AS StaffCount, CONVERT(DATE, datetime) AS StaffDate
FROM StaffAccLog WHERE task = 'Logon'
GROUP BY CONVERT(DATE, datetime)
SELECT COUNT(*) AS AdminCount, CONVERT(DATE, datetime) AS AdminDate
FROM AdminAccLog WHERE task = 'Logon'
GROUP BY CONVERT(DATE, datetime)
我想要的查询结果是这样在同一个表(未插入表)
新的查询结果be:
----------- ---------- ---------- --------- ---------- ---------
PublicCount PublicDate StaffCount StaffDate AdminCount AdminDate
----------- ---------- ---------- --------- ---------- ---------
1 31/7/2017 1 31/7/2017 2 30/7/2017 0:00:00AM
1 31/7/2017 0:00:00AM
又如:
编辑你的问题,并提供样本数据和预期的结果。如前所述,这在SQL中看起来并不是一个明智的做法,因为单行上的列不相互关联。 –
请阅读http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557和接受的答案 –