Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/10/2015, 08:24
VeinZx
 
Fecha de Ingreso: octubre-2013
Mensajes: 7
Antigüedad: 10 años, 6 meses
Puntos: 0
Problema con query en BD

Buenas, les explico mi problema para ver si ustedes tienen alguna idea:

Resulta que tengo una BD de la que me gustaría extraer información, el problema viene con una tabla, que guarda un value especifico de un registro, en los cuales algunas veces contiene 2 codigos de la tabla que me da problemas.

Por ejemplo.

Necesito listar ciertos parametros del informe "200B", pues uno de estos parametros se encuentra en la tabla "RegistroSnomed", hasta aquí todo bien, el caso es que si el informe contiene 2 codigos snomed, en la tabla "RegistroSnomed" no están los 2 codigos en la misma tupla, si no en 2 diferentes, por ejemplo:

"CODIGO | REGISTRO | CODIGOSNOMED | DESCRIPCCIÓN"
19191 200B CODIGO1 DESCRIPCIÓN
19192 200B CODIGO2 DESCRIPCIÓN

El caso que tiro la query pero solo me muestra los snomeds a los que apunto, pero como ya he dicho ciertos registros tienen 2 snomeds por lo que me sería muy útil que me mostrará los 2 snomeds, en un principio pensaba que me lo mostraría en 2 tuplas iguales a excepción de dicho codigo, pero no.

Dejo aquí la query que intento hacer funcionar:

Código MySQL:
Ver original
  1. SELECT Base.Registry.Registry,
  2.        Base.Client.Name,
  3.        Base.Client.Surname1,
  4.        Base.Client.Surname2,
  5.        Base.Client.BirthDate,
  6.        Base.Registry.Age,
  7.        Base.Client.NIF,
  8.        Base.Registry.Procedency,
  9.        Base.Registry.DateRegistry,
  10.        Base.Registry.DateValidation,
  11.        Base.Registry.CodeSample,
  12.        Base.SnomedRegistry.Code,
  13.        Base.Sample.T
  14. FROM Base.Registry, Base.Client, Base.SnomedRegistry, Base.Sample
  15. WHERE Base.Registry.CodeClient = Base.Client.CodeClient
  16. AND Base.Registry.Registry = Base.SnomedRegistry.Registry
  17. AND Base.Registry.CodeSample = Base.Sample.Sample
  18. AND Base.Registry.DateRegistry
  19. BETWEEN '2012-01-01' AND '2012-12-31'
  20. AND (
  21.    Base.SnomedRegistry.Code LIKE 'M8%%%3'
  22. OR Base.SnomedRegistry.Code LIKE 'M8%%%2'
  23. OR Base.SnomedRegistry.Code LIKE 'M8%%%6'
  24. OR Base.SnomedRegistry.Code LIKE 'M8%%%9'
  25. OR Base.SnomedRegistry.Code LIKE 'M9%%%2'
  26. OR Base.SnomedRegistry.Code LIKE 'M9%%%3'
  27. OR Base.SnomedRegistry.Code LIKE 'M9%%%6'
  28. OR Base.SnomedRegistry.Code LIKE 'M9%%%9'
  29. OR Base.SnomedRegistry.Code LIKE 'M69730'
  30. OR Base.SnomedRegistry.Code LIKE 'M60760'
  31. OR Base.SnomedRegistry.Code LIKE 'M74000'
  32. OR Base.SnomedRegistry.Code LIKE 'M74007'
  33. OR Base.SnomedRegistry.Code LIKE 'M74008'
  34. )

En un principio había pensado añadir un AND donde apuntara a todos los codigos, pero no ha funcionado.

¿Alguna idea?

Muchas gracias por vues

Última edición por gnzsoloyo; 16/10/2015 a las 08:32