SQL - Consulta sobre tablas unidas a una por la foránea

 
Vista:

Consulta sobre tablas unidas a una por la foránea

Publicado por Sej (2 intervenciones) el 22/04/2018 00:21:23
Hola. Lllevo varios dias intentando realizar una consulta que me es imposible.
Tengo las siguientes tablas:
Tabla Error
- P_Error (PK)
- Descripcion
- Fecha

Tabla Error_Device
- P_Err_Dev (PK)
- A_Error (F)
- A_Device (F)

Tabla Device
- P_Device (PK)
- Modelo_Device
- Tipo_Device

Tabla Pc
- A_Device (F)
- Modelo_PC
- Fecha de compra

Tabla Mobile
- A_Device (F)
- Modelo_Mobile
- Fecha de compra

Las tablas Pc y Mobile son una generalización de Device, y por tanto heredan directamente la foránea de Device, sin contener Primary Key.
Lo que quiero consultar son los dispositivos que han estado presentes en un determinado error.
Por ejemplo, en la tabla Error_Device guardo los siguientes datos:
P_Err_Dev A_Error A_Device
ER01 E01 D01
ER02 E01 D02

En la tabla PC
A_Device Modelo_PC Fecha
D01 Asus 22/12/2000

En la tabla Mobile
A_Device Modelo_MobileFecha
D02 Galaxy S8 22/12/2017

Lo que quiero conseguir es sacar que, sabiendo el error, E01, sacar los device que han registrado ese error, que serian Asus y Galaxy S8.
Alguien tiene alguna ayuda?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kingk
Val: 2
Ha disminuido su posición en 33 puestos en SQL (en relación al último mes)
Gráfica de SQL

Consulta sobre tablas unidas a una por la foránea

Publicado por kingk (1 intervención) el 22/04/2018 06:41:51
Hola, puedes realizarlo así:
1
2
Select * from (Select A_Device, modelo_pc from pc unión select A_Device, modelo_mobile from mobile) As A
Where A.A_Device in (Select A_Device from error_device where A_Error="E01")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta sobre tablas unidas a una por la foránea

Publicado por Sj (2 intervenciones) el 22/04/2018 11:33:24
Gracias!
En el caso de que tuviera dos tablas más, por ejemplo Printer y Other Devices, con la misma estructura que Pc y Mobile, como sería? Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar