FoxPro/Visual FoxPro - Ayuda con una consulta desde FoxPro

   
Vista:

Ayuda con una consulta desde FoxPro

Publicado por Juan (71 intervenciones) el 20/08/2015 16:25:48
Buenas tardes.

Me han pasado una consulta en SQL y no entiendo muy bien si eso funciona o no, ni que quiere decir el carácter "?".

A ver si alguien me puede ayudar y decirme si funcionaría y que es lo que quiere decir ese carácter dentro de la consulta.

La consulta es la siguiente:

1
2
3
4
5
6
7
8
cConsulta = "SELECT a.nombre, a.apellido, a.direccion " + ;
                    "FROM tabla1 a " + ;
                    "WHERE a.id IN " + ;
                    "(SELECT b.id " + ;
                    "FROM tabla2 b " + ;
                    "WHERE (b.cod = ? OR b.cod2 = '***') AND " + ;
                    "b.paso = ? AND b.mod = ?) " + ;
                    "ORDER BY a.orden"

No sé que quiere decir el comodín "?", dentro de la consulta o si está bien.

Un saludo.
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

Ayuda con una consulta desde FoxPro

Publicado por Saul (676 intervenciones) el 20/08/2015 17:11:33
Creo que no estas interpretando bien.. es un ejemplo muy simple el que te están dando
Yo lo acomodaría de esta forma, aunque hay otras maneras de hacerlo,porque el IN se torna lento
si tienes demasiados datos.
Otra cosa que estas usando varias como mod ?? y mod es una palabra reservada.
Suerte

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
m.cod ='01'
m.cod2 = '10'
m.paso = '001'
m.mod = 'Z1'
 
Luego me imagino que ya tienes tu conexión SQL y como lo ejecutaras.
 
TEXT cConsulta
	SELECT a.nombre, a.apellido, a.direccion
    FROM tabla1 a
      WHERE a.id IN
               	 (SELECT b.id
	              FROM tabla2 b
		    	  WHERE (b.cod = ?m.cod OR b.cod2 = ?m.cod2) AND
		          b.paso = ?m.paso AND b.mod = ?m.mod)
     ORDER BY a.orden
ENDTEXT
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

Ayuda con una consulta desde FoxPro

Publicado por Juan (71 intervenciones) el 20/08/2015 17:37:41
Gracias, me comí alguna letra, no es MOD sino MODULO, pero esa no es la cuestión. La consulta es para que sirve el comodín "?" donde lo he puesto yo.

Un saludo
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

Ayuda con una consulta desde FoxPro

Publicado por Saul (676 intervenciones) el 21/08/2015 04:44:35
? se usa para que el SQL SERVER o MYSQL interprete tu variable como si fuera un valor.

es decir es un comidin

?nVar1, ?nVar2 Etc

si no pones el ? SQL SERVER lo interpreta como "nVar2" si le pones el comidion ='001'

Saludos
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