Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola tengo en un script dos tablas, una llamada cliente y otra zona, por ejemplo
cliente:
IdCliente;
zona:
IdZona;
Quiero poner un IF donde si IdCliente='a' entonces IdZona='ESPAÑA', el problema que tengo es que dentro de las tablas no puedo hacerlo porque no me reconoce el otro campo o lo estoy poniendo mal y fuera también me da fallo en el script
Ahora te sigo mejor !!!!!!!!
IF(IdCliente='57263', 'EXPORTACION', IF(IdZona='NACIONAL',IdZona,'EXPORTACION') ) AS IdZona,
IdZona tendrá valor 'EXPORTACION' cuando el cliente sea 57263 ; si la zona es Nacional tendrá valor Nacional ... el resto de idZonas tomarán valor EXPORTACION
Hola Iván:
Puedes poner el LOAD completo de ambas tablas ?
Saludos
Joaquín
Es un poco largo, yo lo abrevié, pero este es...
ClientesYEnvios:
LOAD IdCliente,
Cliente,
Ciudad,
DIVISA,
Bloqueado,
Provincia,
"Codigo Postal",
GrupoContable,
//IdZona,
// IF(IdZona='EUROPA','RESTOMUNDO',IdZona) as IdZona,
IF(IdZona='NACIONAL',IdZona,'EXPORTACION') as IdZona,
IdSubZona,
IdAgente1,
"DepartamentoGestión",
DPTOGESTON,
IdCliente & '-' & "IdDirecciónEnvío" AS Cliente_Envío,
"IdDirecciónEnvío" as [DireccionesEnvioClientes.IdDirecciónEnvío],
"NombreDirecciónEnvío" as [DireccionesEnvioClientes.NombreDirecciónEnvío],
"DirecciónEnvío" as [DireccionesEnvioClientes.DirecciónEnvío],
City as DireccionesEnvioClientes.City,
"Phone No_" as [DireccionesEnvioClientes.Phone No_],
Contact as DireccionesEnvioClientes.Contact,
"Location Code" as [DireccionesEnvioClientes.Location Code],
"Fax No_" as [DireccionesEnvioClientes.Fax No_],
"Post Code" as [DireccionesEnvioClientes.Post Code],
County as DireccionesEnvioClientes.County,
"E-Mail" as [DireccionesEnvioClientes.E-Mail],
IdComercial1,
IdAgente2;
SQL SELECT *
FROM dbo."DW_ClienteYDirEnvio";
Zonas:
LOAD //IdZona,
//IF(IdZona='EUROPA','RESTOMUNDO',IdZona) as IdZona,
IF(IdZona='NACIONAL',IdZona,'EXPORTACION') as IdZona,
// IF (FPC ='01/01/1753','NO HAY',FPC) as FPC,
Zona;
SQL SELECT *
FROM dbo."DW_Zonas";
La tabla de clientes no tiene el campo idZona ... por tanto el error te lo dará siempre.
Intuyo que tu quieres hacer algo parecido a esto
Clientes:
LOAD ...
IF (Cliente='a', 'España', 'Extranjero') as idZona
Aunque no estoy muy seguro
Saludos
Joaquín
Si lo tiene mira la linea:
IF(IdZona='NACIONAL',IdZona,'EXPORTACION') as IdZona,
Esa está sin comentar....
Lo he visto.
En esta tabla no está al menos con ese nombre !!!!
SQL SELECT *
FROM dbo."DW_ClienteYDirEnvio";
Intenta poner la instrucción de mi mensaje anterior
No entiendo lo que me dices porque yo lo veo igual, mira he puesto esto y ahora me aparece en blanco el campo IdZona
ClientesYEnvios:
IF(IdCliente='57263','EXPORTACION','EXPORTACION') AND IF(IdZona='NACIONAL',IdZona,'EXPORTACION') AS IdZona,
Zonas:
LOAD
IF(IdZona='NACIONAL',IdZona,'EXPORTACION') as IdZona,
Zona;
SQL SELECT *
FROM dbo."DW_Zonas";
He reducido la tabla de clientes para que se vea mejor, pero los campos IdCliente e IdZona están en la primera tabla
En realidad lo que quiero es que si el cliente es el 57263 la IdZona sea EXPORTACION , luego hay otra sentencia que hace otra cosa, esa funciona bien
Ahora te sigo mejor !!!!!!!!
IF(IdCliente='57263', 'EXPORTACION', IF(IdZona='NACIONAL',IdZona,'EXPORTACION') ) AS IdZona,
IdZona tendrá valor 'EXPORTACION' cuando el cliente sea 57263 ; si la zona es Nacional tendrá valor Nacional ... el resto de idZonas tomarán valor EXPORTACION
Estoy buscando una cosa que haga esto pero no me funciona pq repito el campo
IF(IdZona='NACIONAL',IdZona,'EXPORTACION') AS IdZona,
IF(IdCliente='57263','EXPORTACION',IdZona) AS IdZona,
Es decir las 2 sentencias a la vez