Doble Relación con Inner Join - Count |
Responder |
Autor | |
shenares
Habitual Unido: 01/Septiembre/2020 Localización: Madrid Estado: Sin conexión Puntos: 62 |
Opciones de entrada
Gracias(0)
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, |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Opciones de entrada
Gracias(0)
|
No queda muy claro lo que quieres ... , 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. |
|
shenares
Habitual Unido: 01/Septiembre/2020 Localización: Madrid Estado: Sin conexión Puntos: 62 |
Opciones de entrada
Gracias(0)
|
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. |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Opciones de entrada
Gracias(0)
|
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.
|
|
shenares
Habitual Unido: 01/Septiembre/2020 Localización: Madrid Estado: Sin conexión Puntos: 62 |
Opciones de entrada
Gracias(0)
|
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 |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Opciones de entrada
Gracias(0)
|
Pues lo dicho, una consulta de totales:
SELECT Count(*), Result FROM ExecutionTestCase GROUP BY Result |
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |