dicen que hay dos tablas:SQL: ¿Obtiene todos los registros de una tabla Y un recuento de registros de una segunda tabla?
TABLA A
messageID/Message /More..
1 /This is the first message /Etc..
2 /This is the second message/Etc..
3 /This is the third message /Etc..
TABLA B
commentID/messageID/Comment
1 /2 /This is a comment to the second message
2 /2 /This is another comment to the second message
3 /3 /This is a comment to the third message
El lazo entre las mesas es el campo messageID.
me gustaría una consulta que genera resultados como este, en el que reunir todos los campos de la tabla A, y un recuento del número de observaciones para cada mensaje de la Tabla B, así:
messageID/Message /More.../CommentCount
1 /This is the first message/etc... /0
2 /This is the second message/etc... /2
3 /This is the third message/etc... /1
he intentado algo como esto:
SELECT tableA.*, count(commentID) as commentcount
FROM tableA LEFT JOIN tableB ON tableA.messageID = tableB.messageID GROUP BY messageID
pero no funciona. ¿Algunas ideas? Parece que debería ser posible hacer esto en una consulta. Estoy usando MSSQL. Gracias por cualquier ayuda.
su consulta parece correcta. Simplemente use 'COUNT (tableB.messageID)' y 'GROUP BY tableA.messageID' –