Эй, ребята, у меня есть некоторые проблемы с подзапросами в SQL.Я использую MS Access 2010 и пишу sql.
SELECT vak.Name, COUNT(vak.amount) AS [First], COUNT(vak2.amount2) AS [Second]
FROM
(SELECT kon.Name, (Count(icv.CV_ID) / Count(icv.CV_ID)) AS amount
FROM (kon INNER JOIN v ON kon.K_ID = v.K_ID) INNER JOIN icv ON v.Vak_ID = icv.Vak_ID
GROUP BY v.Vak_ID, kon.Name) AS vak,
(SELECT kon.Name, COUNT(v.Vak_ID) AS amount2
FROM (kon INNER JOIN v ON kon.K_ID = v.K_ID) INNER JOIN icv ON v.Vak_ID = icv.Vak_ID
GROUP BY kon.Name) AS vak2
GROUP BY vak.Konkursa_Nosaukums
Когда я проверяю это в представлении таблицы данных, оба столбца идентичны.В «Первом» 6 строк, есть значения 12, 12, 6, 12, 6, 6. Те же значения в «Втором» столбце.Когда я разбил этот код на 2 части и сделал 2 новых запроса для тестирования, столбец «Первый» показывает значения 2,2,1,2,1,1, а второй запрос имеет значения 3,3,1,2,1,1.Оба этих столбца имеют правильные значения, когда они по отдельности, но когда я объединяю их, некоторые неизвестные значения появляются как 12 (я понятия не имею, где он берет такое число как 12).Когда я помещаю строку
WHERE vak.amount = vak2.amount2 перед последней строкой, она показывает 2,2,1,2,1,1 в обоих столбцах.Я думаю, это берет только из первого подзапроса или что-то.
Как правильно сделать эти подзапросы, чтобы они отображали значения так же, как когда они написаны отдельно?