आपको कॉलम infection
. को समूहीकृत करना होगा और (ip
&ipc
) अलग तरीके से फिर इस तरह उप-क्वेरी का उपयोग करके उनसे जुड़ें:
SELECT t1.ip, t1.isp, t2.infection, t1.ipc, t1. ispc, t2.incount
FROM
(SELECT ip, isp, infection, COUNT(ip) as ipc, COUNT(isp) as ispc
FROM (
SELECT ip, isp, infection
FROM tbl1
UNION ALL
SELECT ip, isp, infection
FROM tbl2
UNION ALL
SELECT ip, isp, infection
FROM tbl3
)x
GROUP BY ip, isp) t1
JOIN
(SELECT ip, isp, infection, COUNT(infection) as incount
FROM (
SELECT ip, isp, infection
FROM tbl1
UNION ALL
SELECT ip, isp, infection
FROM tbl2
UNION ALL
SELECT ip, isp, infection
FROM tbl3
)x
GROUP BY ip, isp, infection)t2
ON t1.ip = t2.ip
ORDER BY ip, isp, infection Desc
यह SQLFiddle देखें
नोट: मुझे लगता है कि आपका वांछित आउटपुट गलत है क्योंकि:
Table3
में कोईinfection
नहीं हैip=6
. के लिए लेकिन यह आपके आउटपुट में हैinfection
other
आपके आउटपुट में गायब है (इसके बजायmalware
. है )