Hola Carlos.
Al igual que Pablo, pienso que es un error de diseño de db.
Toma a un PC como una unidad operativa que tiene sus componentes, entonces una unidad operativa puede estar físicamente en una sola ubicación.
Tendrías una diseño más o menos así
Tabla Ubicacion
CodUbi, Descripcion
1, Ventas
2, Bodega
3, Sistemas
Tabla t_pc.
PCId, Descripcion, Marca, Modelo, Serie, codubi
1 PC1, HP, XXX, XXX, XXX, 1
2 PC2, HP, YYY, YYY, YYY, 1
Tabla t_ComponenteTipo
CmpTipoId, Descripcion
1, Teclado
2, Monitor
3, Raton
Tabla t_PC_Componente
PCId, CmpTipoId, Serie, ...
1, 1, s2xwe7
1, 2, 1xows2
1, 3, 3rw53so
2, 1, w2we3l
2, 2, w291jwss
2, 3, 12e3kdkc
Select u.CodUbi, u.Descripcion As Ubicacion, p.PCId, p.Descripcion UOPerativa, p.Marca, p.Modelo, p.Serie,;
t.Descripcion As Componente, c.Serie As CmpSerie;
From Ubicacion As u ;
Inner Join t_pc As p On u.CodUbi = p.CodUbi;
Inner Join t_PC_Componente c On p.PCId = c.PCId;
Inner Join t_ComponenteTipo t On c.CmpTipoId = t.CmpTipoId
Where u.CodUbi = m.ubi