Estas trabajando con sql server??? de ser asi puedes ver el uso de la funcion row_number que ayudaria a encontrar cuales son las que tienen menos de 3 lineas, o en su defecto podrias intentar con la funcion having, te dejo un ejemplo con la funcion having ;)
Código SQL:
Ver originalCREATE TABLE #facturas(
id_factura INT
)
CREATE TABLE #detalle
(
id_factura INT,
detalle VARCHAR(20)
)
INSERT INTO #facturas VALUES (1)
INSERT INTO #facturas VALUES (2)
INSERT INTO #facturas VALUES (3)
INSERT INTO #detalle VALUES (1,'detalle1')
INSERT INTO #detalle VALUES (1,'detalle2')
INSERT INTO #detalle VALUES (1,'detalle3')
INSERT INTO #detalle VALUES (1,'detalle4')
INSERT INTO #detalle VALUES (2,'detalle1')
INSERT INTO #detalle VALUES (2,'detalle2')
INSERT INTO #detalle VALUES (2,'detalle3')
INSERT INTO #detalle VALUES (3,'detalle1')
INSERT INTO #detalle VALUES (3,'detalle2')
INSERT INTO #detalle VALUES (3,'detalle3')
INSERT INTO #detalle VALUES (3,'detalle4')
SELECT t1.id_factura,COUNT(t2.id_factura) AS total FROM #facturas AS t1
LEFT JOIN #detalle AS t2 ON (t1.id_factura=t2.id_factura)
GROUP BY t1.id_factura
HAVING COUNT(t2.id_factura)<4
El resultado de esta consulta es la factura 2 que solamente tiene 3 registros :)