Мне нужно сопоставить два столбца из двух разных таблиц на основе количества строк, которые у них есть общего. так, например, в первой колонке у меня есть:частичное соответствие строк в sql
================Table 1==============================
ID desc Year Month
123 food_drink 2016 8
345 shoe_bag 2016 8
678 001_toilet_paper 2015 7
910 Bags_of_thing 2015 6
======================table 2======================
ID Name Year month
ad drink_server 2016 8
ac shoe_shiny 2016 8
aa white_paper 2015 7
cc blue_bags 2015 6
Есть ли способ объединить две таблицы, вступив на год, месяц и аналогичные строки в описании и названии. Таким образом, сравнивая ДЕСК и имя столбца, чтобы увидеть, если они имеют> = 5 строк в общем, то:
===================================================
ID1 ID2 name desc Year Month
123 ad drink server food_drink 2016 8
678 aa white_paper 001_toilet_paper 2016 7
В сущности, мне нужен способ, чтобы сравнить количество общих строк между двумя столбцами разных таблиц. Благодарю.
вы можете написать любой 'join' вы хотите - присоединяйтесь пункты просто сводятся к булева истина/ложь: правда = объединение записей, false = no join. но ваши подстрочные совпадения НЕ будут хорошенькими. sql не является хорошим языком для выполнения произвольных манипуляций с строками. Вы бы лучше избегали нормализации таблиц и помещали эти ключевые слова food/drink/server/blah/blah в свой собственный дочерний стол, а затем сопоставление будет тривиальным join + равенство. –
Я не уверен, понимаю ли я. Вы хотите сравнить каждую строку из таблицы1 с каждой строкой из таблицы2, чтобы проверить, имеют ли они в аренду (или точно) 5 общих полей или вы хотите сравнить столбец со столбцом? – Kacper
Какая СУБД вы используете? –