Прежде всего я проверил все темы "SQL Server: объединить результаты в слишком много строк" здесь, в Stackoverflow и других веб-сайтах, но не смог получить правильный код, и поэтому вам понадобится ваш советник в качестве новобранец. Моя задача - добавить 1 столбец из таблицы B в таблицу A, которая будет предоставлять категорию элемента. Table A
имеет только 13288 строк, но когда я присоединяюсь, результаты будут 211657 строк. Я попробовал, чтобы Left Join
получал одинаковые результаты строк. Я хотел сделать GROUP BY
или DISTINCT
но в table A
есть дубликаты ticket_ids
поэтому вы тоже не хотите их испортить.
Вот код, который у меня есть.
SELECT Table1.*, Table2.Category
FROM Table1
INNER JOIN Table2 ON Table1.ticket_id = Table2.ticket_id
Странно, что левое соединение не работает. Однако вы можете попробовать:
SELECT
t1.*, (select t2.Category from Table2 as t2 where t2.ticket_id = t1.ticket_id limit 1) as Category
FROM
Table1 as t1
SELECT Table1.*, ( SELECT Table2.Category, MAX(Table2.ticket_id) FROM Table2 GROUP BY Table2.ticket_id ) FROM Table1 INNER JOIN Table2 ON Table1.ticket_id = Table2.ticket_id COLLATE Latin1_General_CI_AS_KS_WS