2013-09-20 6 views
1

Я пытаюсь получить количество строк в двух столбцах из разных таблиц, расположенных в двух разных базах данных. Что-то в строках:Количество строк: 2 Столбцы

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 

В принципе, мне нужно сравнить два столбца для дубликатов.

ответ

1

Для начала вам нужно соединить таблицы на ид, как то, что вы, по существу написано здесь

ON table2.table2 = table1.table1 

так вместо:

ON h.table2 = i.table1 

вы хотите что-то вроде:

ON h.id = i.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 

Надеется, что это помогает!

+0

Большое спасибо за ваш ответ! Я только что понял, что вместо имени столбца для соединения я использовал tablename. Я имею в виду, что «id» относится к одной таблице. Ищете способ вернуть счетчик по аналогичным значениям в столбце «Форма». – Rmp1229

+0

В идеале вы бы хотели, чтобы общее поле объединялось, могли бы вы предоставить некоторые примеры данных для обеих таблиц и то, что они есть, поэтому я лучше понимаю, чего вы хотите. – ASindleMouat

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 

Теперь я просто нужно добавить количество строк в запросе ... Еще раз спасибо!

Смежные вопросы