我对SQL下表:如何从SQL中的另一个表中获取计数?
Mensajes
IdMensaje (int) PK NOT NULL
IdCliente (int)
CorreoCliente (varchar(100))
CorreosAdicionales (varchar(MAX))
Tema (varchar(100))
Mensaje (varchar(MAX))
Fecha (date)
Hora (time(5))
Archivos
IdArchivo (int) PK NOT NULL
IdMensaje (int)
Nombre (varchar(200))
外键Mensajes.IdMensaje ON Archivos.IdMensaje
如果你想知道什么Mensajes。 IdCliente是的,它有另外一张桌子的外键,但这是另一个故事
第一个介绍...我正在制作一个发送电子邮件的程序......当您发送电子邮件时,我会在Mensajes上插入所有数据,并且如果您在消息上附加了文件,它将也插上Archivos每个文件(显然Archivos.IdMensaje等于其之前插入Mensajes.IdMensaje)
因此,这里是我的问题: 我想打一个查询在那里我从Mensajes获得的所有数据,而且还添加其他的列,其中会显示有多少文件被附加到该消息...... 我设法使用查询中,我没有得到的数据(当然,那种)
SELECT Mensajes.IdMensaje, COUNT(Archivos.IdArchivo) AS Expr1
FROM Mensajes INNER JOIN Archivos ON Mensajes.IdMensaje = Archivos.IdMensaje
GROUP BY Mensajes.IdMensaje
但是,它只显示附加了文件的消息,而不是结果为0的消息,我还想显示这些消息...... 我该怎么做?
希望你能帮助我 感谢
这将是一个左连接,而不是内连接 – Zeph 2012-08-13 18:19:09