** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Doble Relación con Inner Join - Count
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Doble Relación con Inner Join - Count

 Responder Responder
Autor
Mensaje
shenares Ver desplegable
Nuevo
Nuevo


Unido: 01/Septiembre/2020
Localización: Madrid
Estado: Sin conexión
Puntos: 28
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita shenares Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Doble Relación con Inner Join - Count
    Enviado: 10/Enero/2021 a las 13:28
Hola a todos,

En primer lugar gracias por la ayuda.

Mi problema es el siguiente:
- Tengo tres tablas relacionadas:
Devices (...,Model,...)
ExecutionDevice (IdExecutionDevice,...,Device,...)
ExecutionTestCase (IdExecutionDevice,...)
- La relación es la siguiente:
Devices(Model) <-> ExecutionDevice(Device)
ExecutionDevice (IdExecutionDevice) <-> ExecutionTestCase(IdExecutionTestCase)

- La busqueda que estoy intentando hacer es mostrarme la cantidad de filas que hay en ExecutionTestCase relacionado a un valor de IdExecutionTestCase.

He intentado de mil formas pero no soy posible de realizarlo.

SELECT * FROM ExecutionTestCase INNER JOIN ExecutionDevice ON ExecutionTestCase.IdExecutionDevice = ExecutionDevice.IdExecutionDevice INNER JOIN Devices ON Devices.Model = ExecutionDevice.Device Where IdExecutionTestCase = "3"

¿Podríais ayudarme?

Un saludo,
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 12243
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Mihura Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 12/Enero/2021 a las 10:06
No queda muy claro lo que quieres ... Confused, pero según lo he entendido tendrás que hacer las relaciones al revés, partiendo de una consulta de totales:

SELECT ....
FROM (SELECT Count(*), IdExecutionTestCase ... FROM ExecutionTestCase  GROUP BY IdExecutionTestCase) AS T1
LEFT JOIN 
ExecutionDevice ON T1.IdExecutionTestCase = ExecutionDevice.xxx
LEFT JOIN 
Devices  ON ExecutionDevice .xxx = Devices  .xxxx

Lo que te pongo es la idea genérica, tendrás que ajustarla a tus tablas / campos.



Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
shenares Ver desplegable
Nuevo
Nuevo


Unido: 01/Septiembre/2020
Localización: Madrid
Estado: Sin conexión
Puntos: 28
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita shenares Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 10:53
Hola Mihura,

Perdón por la tardanza en contestar.

Lo que necesito es realizar una consulta con una relación doble de 3 tablas. Esto es lo siguiente:
Devices(Model) <-> ExecutionDevice(Device). ExecutionDevice esta relacionado con Execution con los parametros Model y Device.
ExecutionDevice (IdExecutionDevice) <-> ExecutionTestCase(IdExecutionTestCase). ExecutionTestCase esta relacionada con ExecutionDevice con los parametros IdExecutionDevice y IdExecutionTestCase.

Con esto, me gustaría saber cuantos IdExecutionTestCase teniendo en cuenta un valor X de esa tabla.

No me queda muy claro la sentencia que me has puesto...

¿Alguna idea?

Un saludo y muchísimas gracias.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 12243
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Mihura Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 11:04
Lo mejor será que pongas las tablas que tienes, con unos datos de prueba y el resultado que quieres obtener a partir de esos datos. A ver si así se entiende que es lo que quieres.


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
shenares Ver desplegable
Nuevo
Nuevo


Unido: 01/Septiembre/2020
Localización: Madrid
Estado: Sin conexión
Puntos: 28
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita shenares Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 22/Enero/2021 a las 13:29
Hola Mihura,

Aquí pongo un ejemplo:

Tabla devices:
Id     Manufacturer     Model*     TechName     CommModule
338     Accent     TRK-130          Quectel BC95-B20
177     Accent     TRK-230          Quectel BG96
339     Advantech     WISE-4471          Quectel BG96

Tabla ExecutionDevice:

IdExecutionDevice*     Tester     Device*     App_FW_Version     Module_FW_Version
10     Shenares     TRK-130     v1     1.1
12     Shenares     TRK-230     1.1.10     BG96MAR04A02M1G
13     Shenares     WISE-4471     TBC     TBC
14     Shenares     TRK-130     v00.07.03.00_03132020015039_perf     Comercial release
17     Shenares     TRK-230     TRB1410_R_00.01.05     EC21EUGAR06A01M4G_OCPU_BETA1112

Tabla ExecutionTestCase:

IdExecutionDevice*     IdExecutionTestCase     IdTestcase     Result
10     634     487     Not executed
10     635     486     OK
10     636     562     OK
10     637     563     Not executed
10     638     499     Partial OK
10     639     502     Not executed
10     640     501     OK
10     641     500     Not executed
10     642     485     OK
12     643     484     NOK
12     644     463     OK
12     645     462     OK
14     646     452     NOK
14     647     456     Not apply
17     648     455     Not apply
17     649     454     Not apply


Los parametros que estan con * son lo que estan relacionados tal como puse en el comentario anterior:

Devices(Model) <-> ExecutionDevice(Device). ExecutionDevice esta relacionado con Execution con los parametros Model y Device.
ExecutionDevice (IdExecutionDevice) <-> ExecutionTestCase(IdExecutionTestCase). ExecutionTestCase esta relacionada con ExecutionDevice con los parametros IdExecutionDevice y IdExecutionTestCase.

Lo que me gustaría saber es cuantas filas hay en la tabla ExecutionTestCase con un valor (por ejemplo) "OK" de la columna Result.

Un saludo y gracias de antemano.

Editado por shenares - 22/Enero/2021 a las 13:39
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 12243
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Mihura Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 22/Enero/2021 a las 14:21
Pues lo dicho, una consulta de totales:

SELECT Count(*), Result FROM ExecutionTestCase  GROUP BY Result
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable