Подсчет с условиями в другой таблице и присоединение записей к третьей таблице
Я подсчитываю записи для конкретного значения проекта (cprj) из таблицы [MatchingRowsOutput-CI-BOM-ProjectCumulative] и перекрестно ссылаюсь на число со значением [DWRowCount] в другой таблице [OrderEntry] для того же проекта "cprj".
Если эти значения совпадают, я хотел бы взять все записи для этого проекта (cprj) из таблицы [MatchingRowsOutput-CI-BOM-ProjectCumulative] и вывести их в другую таблицу под названием [CI-BM-CPRJ-Transfer].
Я перепробовал много различных методов, пытаясь использовать предложение CASE, где предложение, имеющее предложение, но ни один из них не сработал.
Код, вставленный ниже, является самым успешным, которого я могу достичь, возвращая 0 затронутых строк. Я точно знаю, что для TEK#7000 cprj должен быть возврат 26 строк.
Кроме того, после того как я вытащил записи из таблицы [MatchingRowsOutput-CI-BOM-ProjectCumulative] и поместил их в таблицу [CI-BM-CPRJ-Transfer], я хотел бы удалить записи, которые были использованы для ссылки
из таблицы [OrderEntry]. Я еще не пытался закодировать эту часть в приведенном ниже коде.
Любая помощь очень ценится.
Вот примеры 2-х таблиц с этой информацией.
[OrderEntry] Table ID cprj TotalRowCount DWRowCount 1 TEK#7000 80 26 2 TEK#4444 50 30 3 TEK#88888 120 24 4 TEK#4700 37 13 5 TEK#99999 53 42
[MatchingRowsOutput-CI-BOM-ProjectCumulative] table ID cprj item PartNumber SWITEM QTY rutm 196 TEK#7000 A23-3171-X A23-3171\2583 1.2 2 NULL 197 TEK#5555 N02-0846-X N02-0846A5\59\2583 2 1 NULL 198 TEK#7000 N02-0846-X N02-0846A5\59\2583 2 1 NULL 199 TEK#5555 A23-1354-X A23-1354\2583 2.3 2 NULL 200 TEK#7000 A23-1354-X A23-1354\2583 2.3 2 NULL 201 TEK#7000 B11-0304-X B11-0304\25 2.4 2 NULL 202 TEK#7000 B11-0304-X B11-0304\25 1.4 2 NULL 203 TEK#5555 B11-0304-X B11-0304\25 2.4 2 NULL 204 TEK#5555 B11-0304-X B11-0304\25 1.4 2 NULL 205 TEK#5555 B11-0305-X B11-0305\59 1.5 2 NULL 206 TEK#5555 B11-0305-X B11-0305\59 2.5 2 NULL 207 TEK#7000 B11-0305-X B11-0305\59 1.5 2 NULL
Я не мог показать все столбцы для этой 2-й таблицы.
[CI-BM-CPRJ-Transfer] - это новая таблица, в которую будут записаны результаты.
Что я уже пробовал:
Insertinto SSIS.dbo.[CI-BM-CPRJ-Transfer](cprj, item, PartNumber, SWITEM, QTY, rutm, trid, mitm, pono, sitm, opol, qana, scpf, cwar, opno, cpha, exin, itlu, ssta, dsca, dscb, dscd, suno, ctyo, eitm) SELECT PartList.[cprj], XMLLines.[item], XMLLines.[PartNumber], XMLLines.[SWITEM], XMLLines.[QTY], XMLLines.[rutm], XMLLines.[trid], XMLLines.[mitm], XMLLines.[pono], XMLLines.[sitm], XMLLines.[opol], XMLLines.[qana], XMLLines.[scpf], XMLLines.[cwar], XMLLines.[opno], XMLLines.[cpha], XMLLines.[exin], XMLLines.[itlu], XMLLines.[ssta], XMLLines.[dsca], XMLLines.[dscb], XMLLines.[dscd], XMLLines.[suno], XMLLines.[ctyo], XMLLines.[eitm] FROM OrderEntry.dbo.OrderEntry as PartList INNERJOIN SSIS.dbo.[MatchingRowsOutput-CI-BOM-ProjectCumulative]AS XMLLines ON XMLLines.cprj = PartList.cprj (SELECT cprj FROM SSIS.dbo.[MatchingRowsOutput-CI-BOM-ProjectCumulative])GroupBy XMLLines.cprj, PartList.DWRowCount, XMLLines.[item], XMLLines.[PartNumber], XMLLines.[SWITEM], XMLLines.[QTY], XMLLines.[rutm], XMLLines.[trid], XMLLines.[mitm], XMLLines.[pono], XMLLines.[sitm], XMLLines.[opol], XMLLines.[qana], XMLLines.[scpf], XMLLines.[cwar], XMLLines.[opno], XMLLines.[cpha], XMLLines.[exin], XMLLines.[itlu], XMLLines.[ssta], XMLLines.[dsca], XMLLines.[dscb], XMLLines.[dscd], XMLLines.[suno], XMLLines.[ctyo], XMLLines.[eitm], PartList.[cprj] Having count(XMLLines.cprj)= PartList.DWRowCount