我對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