none
Convertir Consulta en Linq SQL RRS feed

  • Pregunta

  • Buenas,

    usando linq SQL, se puede realizar esta consulta?

    SELECT men.COD_USU_EMI,men.FEC_REG_MSJ,men.TEX_MSJ,men.EST_MSJ,
    	(SELECT usu1.EMA_USU FROM TB_USUARIO usu1 where usu1.COD_USU= Men.COD_USU_EMI) as 'EMA_REC',
        (SELECT (usu2.NOM_USU +', '+ usu2.APE_USU) FROM TB_USUARIO usu2 where usu2.COD_USU= Men.COD_USU_EMI) as 'NOM_REC'
    	FROM TB_USUARIO usu
    	INNER JOIN TB_MENSAJE men
    	ON MEN.COD_USU_REC = USU.COD_USU
    	WHERE USU.COD_USU = 1

    Gracias!


    JC NaupaCrispín

    martes, 22 de julio de 2014 19:37

Respuestas

  • hola

    pero sigo si entender para que las sub consultas en el SELECT

    si solo con el inner join como puse en el ejemplo deberias lograr el mismo resultado

    SELECT men.COD_USU_EMI,
    		men.FEC_REG_MSJ,
    		men.TEX_MSJ,
    		men.EST_MSJ,
    		usu2.EMA_USU as EMA_REC,
    		usu2.NOM_USU +', '+ usu2.APE_USU as NOM_REC
    FROM TB_USUARIO usu
    	INNER JOIN TB_MENSAJE men ON MEN.COD_USU_REC = usu.COD_USU
    	INNER JOIN TB_USUARIO usu2 ON usu2.COD_USU = Men.COD_USU_EMI
    WHERE usu.COD_USU = 1

    es mas como veras puedes volver aplicar el join sobre la misma tabla con otro alias uniendo por un campo distinto

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 23 de julio de 2014 3:55

Todas las respuestas

  • hola

    seguramente se pueda, pero deberias reestructurarla

    usar subconsulta no es recomendable, en linq usarias el join

    es mas porque no usaste

    SELECT men.COD_USU_EMI,
    		men.FEC_REG_MSJ,
    		men.TEX_MSJ,
    		men.EST_MSJ,
    		USU.EMA_USU as EMA_REC,
    		USU.NOM_USU +', '+ USU.APE_USU as NOM_REC
    FROM TB_USUARIO usu
    	INNER JOIN TB_MENSAJE men ON MEN.COD_USU_REC = USU.COD_USU
    WHERE USU.COD_USU = 1

    alli solo usas join y listo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 22 de julio de 2014 21:07
  • Hola Leandro,

    Gracias por responder, efectivamente la consulta es como la detallo en este link: 

    Consulta SQL - Foro

    Es por eso que tengo la consulta así, ya que no pude encontrar otra forma de hacer la consulta listando los campos correctamente.

    Gracias!


    JC NaupaCrispín


    martes, 22 de julio de 2014 22:09
  • hola

    pero sigo si entender para que las sub consultas en el SELECT

    si solo con el inner join como puse en el ejemplo deberias lograr el mismo resultado

    SELECT men.COD_USU_EMI,
    		men.FEC_REG_MSJ,
    		men.TEX_MSJ,
    		men.EST_MSJ,
    		usu2.EMA_USU as EMA_REC,
    		usu2.NOM_USU +', '+ usu2.APE_USU as NOM_REC
    FROM TB_USUARIO usu
    	INNER JOIN TB_MENSAJE men ON MEN.COD_USU_REC = usu.COD_USU
    	INNER JOIN TB_USUARIO usu2 ON usu2.COD_USU = Men.COD_USU_EMI
    WHERE usu.COD_USU = 1

    es mas como veras puedes volver aplicar el join sobre la misma tabla con otro alias uniendo por un campo distinto

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 23 de julio de 2014 3:55
  • Muchas Gracias!

    JC NaupaCrispín

    miércoles, 23 de julio de 2014 4:15