1

このサイトに質問を投稿するのはこれが初めての経験です:)だから、困っています。ODBCに接続するデータベースにアクセスしています。

データベースには 3 つのテーブルがあります。

nombres : (-idnombre, -nombre)
rutas   : (-idruta, ruta)
fechas  : (-idfecha, idruta, idnombre, fecha)

サンプルデータ :

nombres:(1,nombreA),(2,nombreB)
Rutas:(1,rutaA),(2,RutaB)
fechas:(1,1,1,28/06/2013), (2,2,1,28/06/2013), (3,2,2,28/06/2013),(4,2,2,28/06/2013)

だから私はこの出力が必要です(3番目のフィールドはカウントです):

rutaA - nombreA - 1 time
rutaA - nombreB - 0 times
rutaB - nombreA - 1 time
rutaB - nombreB - 2 times

私のSQLは:

SELECT rutas.ruta, nombres.nombre, Count(fechas.idruta) AS CuentaDeidruta
FROM rutas INNER JOIN 
    (nombres INNER JOIN fechas ON nombres.idnombre = fechas.idnombre) 
    ON rutas.idruta = fechas.idruta
GROUP BY rutas.ruta, nombres.nombre;

問題ありませんが、カウントがゼロではありません。私の出力は次のとおりです。

rutaA - nombreA - 1 time
rutaB - nombreA - 1 time
rutaB - nombreB - 2 times

左結合で試したので、エラーが発生します。

4

1 に答える 1