Я соединяю две таблицы вместе, и я хочу перечислить только те строки, количество групп которых не соответствует значению частей таблицы A.
table A
id name pieces
1 name_1 6
2 name_2 2
table B
a_id
1
1
2
2
Итак, я хочу получить все a.nameгде a.piece <> количество сгруппированных строк.
что-то вроде этого:
SELECT a.name
FROM a
INNER JOIN b
ON a.id = b.a_id
WHERE a.pieces <> Count(*)
GROUP BY id
это приводит к недопустимому использованию групповой функции
, также пробовал это:
SELECT a.name,
Count(*) AS count
FROM a
INNER JOIN b
ON a.id = b.a_id
WHERE a.pieces <> count
GROUP BY id
ошибка: неизвестный столбец 'count'
В этом случае в результате я хочу получить только 1 строку, подобную этой:
name count
name_1 2
Потому что name_1
имеет 2 сгруппированных строки из table.b
, и оно не соответствует a.piece
, что составляет 6.