SELECT CAST(A.CountDD AS FLOAT) / B.CountTotal AS Ratio
FROM (SELECT COUNT(*) AS CountDD
FROM (SELECT id, ddfield
FROM table1
UNION
SELECT id, ddfield
FROM table2) x
WHERE x.ddfield = 'dd') A CROSS JOIN
(SELECT COUNT(*) AS CountTotal
FROM (SELECT id, ddfield
FROM table1
UNION
SELECT id, ddfield
FROM table2) y) B
SELECT (A.Count1/B.CountTotal) AS Ratio
FROM
(SELECT Count(*) AS Count1
FROM (SELECT ddfield FROM table1 UNION (SELECT ddfield FROM table2)) table
WHERE table.ddfield='dd') A,
(SELECT Count(*) CountTotal
FROM (SELECT ddfield FROM table1 UNION (SELECT ddfield FROM table2))) B