1

我正在尝试从位于两个不同数据库中的不同表中获取两列中的行数。类似的东西:

    SELECT i.Id, i.Form, h.Form, COUNT(*) AS number
    FROM database1.table1 i

            inner join database2.table2 h
            ON h.table2 = i.table1

        GROUP BY i.Id, i.Form, h.Form
        HAVING COUNT (*) > 1

基本上我需要比较两列的重复项。

4

2 回答 2

1

首先,您需要在 id 上加入表,因为您在这里基本上写的是

    ON table2.table2 = table1.table1

所以而不是:

    ON h.table2 = i.table1

你想要类似的东西:

    ON h.id = i.id

假设 id 与同一个对象(即人、记录等)有关。

因此,要回答您的问题,您需要编写如下内容:

    SELECT i.id, i.Form, h.Form
    FROM database1.table1 i
        INNER JOIN database2.table2 h
        ON h.id = i.id
        AND i.Form = h.Form

希望这可以帮助!

于 2013-09-20T15:40:17.947 回答
0

感谢您的帮助,我想出了:

SELECT i.Id, i.Form, h.Form
FROM database1.table1 i

        inner join database2.table2 h
        ON h.form = i.form

    GROUP BY i.Id, i.Form, h.Form code

现在我只需要在查询中添加行数......再次感谢!

于 2013-10-01T18:14:02.703 回答