Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Sql (https://www.clubdelphi.com/foros/showthread.php?t=47266)

Paoti 28-08-2007 15:45:09

Haber Karlaoax <--- crei que tu nick hacia referenciaa Oaxaca.



mmmmh, veamos



en la sentencia hay dos where, uno para cada tabla, el rpimer where su ámbito es solamente a la tabla que hace referencia, y el segunod where solo su ambito es a la tabla que hace referencia, no quiere decir que si haces un filtro, te va a filtrar la misma información de ls dos tablas....



es eso o no es eso,



Saludos y bien día a todos

karlaoax 28-08-2007 17:59:45

Cita:

Empezado por Paoti (Mensaje 226532)
Haber Karlaoax <--- crei que tu nick hacia referencia Oaxaca.

en la sentencia hay dos where, uno para cada tabla, el rpimer where su ámbito es solamente a la tabla que hace referencia, y el segunod where solo su ambito es a la tabla que hace referencia, no quiere decir que si haces un filtro, te va a filtrar la misma información de ls dos tablas....

No no soy de Oaxaca, pero me gusta esa ciudad, soy de Monterrey N.L.

Entonces traduciendo lo expuesto: No podre hacer una busqueda en ambas tablas segun entiendo, aun cuando quiera ver los resultados de Nissan con Clave='9', me seguira mostrando un Peugeot.

Y lo que yo quiero es, cuando escriba una clave Nissan, efectivamente me muestre una Nissan, etc.

Perdon pero no soy de lArea Informatica y en ocasiones me cuesta entender la terminologia

Paoti 28-08-2007 18:37:23

oky,


ahi va....


haber si me explico.

Código SQL [-]
SELECT clave,nombre FROM Peugeot   
WHERE clave='PAOTI';            
UNION
SELECT clave,nombre FROM Nissan
WHERE clave='6';


Como no hay ningun peugeot con clave 'PAOTI' solo te traera nissan.


Código SQL [-]
SELECT clave,nombre FROM Peugeot   
WHERE clave='11';            
UNION
SELECT clave,nombre FROM Nissan
WHERE clave='PAOTI';


aqui viceversa


Código SQL [-]
SELECT clave,nombre FROM Peugeot   
WHERE clave='NADA';            
UNION
SELECT clave,nombre FROM Nissan
WHERE clave='NADA';

este select no te tare nada..


ahora con

Código SQL [-]
SELECT clave,nombre FROM Peugeot   
UNION
SELECT clave,nombre FROM Nissan


te trae todos....



P.S. no soy de Mty, pero ando viviendo aquí. mi cel es 81 11 7887 11, así me llamo Paoti. vivo en bariro antiguo por si tienes oportunidad de ir y te llavas la laptop

karlaoax 29-08-2007 15:16:29

Mira, de todas formas cuando tu introduces una clave q es Nissan '9' siempre te muestra un auto Peugeot, a eso me refiero. Y sigo sin saber por que :confused:

Cuando introduces una Clave='11' es Null por no existir dicho registro.

AzidRain 29-08-2007 17:06:29

Con todo respeto karlita, me parece que seria mejor que nos dijeras en lenguaje llano que es lo que quieres que te muestre.

Ya sabemos que tienes 2 listas de modelos de coches de marcas distintas (nissan y peugeot).

Ahora de ahi que es lo que quieres que te de la consulta. Olvidate de SQL por un momento y ponlo en palabras normales.

Por otra parte eso de null no tiene razón de ser ya que lo que hace UNION es unir las filas resultantes de un query con las de otro sin mas ni más. Si un where no coincide ningún registro no devolverá ninguna fila. En caso de que ninguno de los dos wheres se cumpla simplemente no tendremos ninguna fila en el query resultante no un null. El valor null unicamente se aplica a valores de columnas.

Un dato importen para que UNION funcione las tablas deben tener el mismo numero de columnas.

AzidRain 29-08-2007 17:15:13

Contestandome solo y sugierendo algo:

Creo que lo que quieres es que dada una clave cualquiera, obtengas a que marca y modelo corresponde.

La solución es muy simple: utiliza una sola tabla para almacenar todos los modelos asi:

TABLA AUTOS

Clave: Int
Marca: varchar
Modelo: varchar


El campo marca correspondería con el nombre de las tablas que tienes en este momento, para este caso sería "Nissan" y "Peugeot".

Ahora si, cada auto tiene su clave asignada por lo que bastaria un simple:

Código SQL [-]
  select marca,nombre from autos where clave='1'
para que te devuelva el modelo Nissan que mencionabas, pero si en vez de uno le pones 6, te devolvera el modelo Peugeot.

Quien sabe quien diseño ese esquema de tablas porque está mal. Pero bueno sabemos que no es tu culpa.

karlaoax 29-08-2007 17:25:16

El manejador que utilizo es MySQL.

Cita:

Empezado por AzidRain (Mensaje 226781)
La solución es muy simple: utiliza una sola tabla para almacenar todos los

Y no quiero utilizar 1 sola tabla, se que es mas facil, por que ya he hecho pruebas :rolleyes:

Y lo de los autos, es solo una prueba antes de implantarlo en un sistema que estoy modificando, el cual utiliza 2 tablas distintas, bueno casi similares en campos.

PS. No te enojes :o


La franja horaria es GMT +2. Ahora son las 15:01:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi