on 07-28-2011 6:14 PM
Buen dia.
Estoy tratando de hacer un query de ordenes de venta con las tablas ORDR y RDR1
En la RDR1 esxite un campo llamado U_Destino en el cual estan definidos varios destinos de la siguiente manera
1 Mexico
2 Veracruz
3 Tamaulipas
Al poner el campor U_Destino en el query el resultado es el numero en lugar del nombre es decir aparece 1 en lugar de mexico, 2 en lugar de veracruz y 3 en lugar de tamaulipas.
La causa es porque estos datos estan dentro una tabla que se llama @destinos con dos culumnas llamadas codigo y destinos,
cuando pongo el moause sobre ellas la informacion del sistemas muestra lo sigueinte
@destinos,name
@destinos,Code
Como puedo agregar el la columna de name en el query para que se muestre en lugar de la columna de codigo.
Gracias
SI, si me sirve solo que no se como.
Utilice la 2 de floyola opcion que me pusieron arriba porque con los case tendia que poner unos 50 ya que son 50 destino aproximadamente.
La opcion de las base de datos sirve pero cuando pongo un Where me marca error en el SAP.
Este es el query que llevo
SELECT T0.[DocNum] 'Num. OV', T0.[TaxDate] AS 'Fecha de documento', T0.[CardCode] AS 'Código Cliente', T0.[CardName] AS 'Nombre Cliente', T0.[ShipTocode] AS 'Destinatario', T0.[PayToCode] AS 'Destinatario de Factura', T0.[Grosprofit] AS 'Total ML', T0.[NumAtCard]'Referencia', T0.[U_Unidad]'Unidad', T1.[U_NumBultos] 'Numero Bultos', T1.[U_U_Peso] 'Peso', T2.[Name] 'Destino' FROM ORDR T0
INNER JOIN RDR1 T1 ON T0.[DocEntry] = T1.[DocEntry] LEFT JOIN [dbo].[@Destinos] T2 ON T1.[U_Destino] = T2.[Code] WHERE T0.TaxDate >= [%0] AND T0.TaxDate <= [%1]
Cuando habilito el where el error que muestra es
Micrsoft SqlNAtive client Sql Server Must specify table to select from. 2)
Micrsoft SqlNAtive client Sql Server statement contratos de servicio (octr) could not be prepared
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Pruebalo asi
SELECT T0.[DocNum] 'Num. OV', T0.[TaxDate] AS 'Fecha de documento', T0.[CardCode] AS 'Código Cliente', T0.[CardName] AS 'Nombre Cliente', T0.[ShipTocode] AS 'Destinatario', T0.[PayToCode] AS 'Destinatario de Factura', T0.[Grosprofit] AS 'Total ML', T0.[NumAtCard]'Referencia', T0.[U_Unidad]'Unidad', T1.[U_NumBultos] 'Numero Bultos', T1.[U_U_Peso] 'Peso', T2.[Name] 'Destino'
FROM [dbo].[ORDR] T0
INNER JOIN [dbo].[RDR1] T1 ON T0.[DocEntry] = T1.[DocEntry]
LEFT JOIN [dbo].[@Destinos] T2 ON T1.[U_Destino] = T2.[Code]
WHERE T0.TaxDate >= '[%0]' AND T0.TaxDate <= '[%1]'
Slds
Y si te traes el campo [NAME], no te sirve?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Que tal
Tienes 2 formas
1) La primera es con un CASE, ejemplo
SELECT T0.DocEntry, T1.ItemCode,
CASE T1.U_DESTINO
WHEN '1' THEN 'Mexico'
WHEN '2' THEN 'Veracruz'
WHEN '3' THEN 'Tamaulipas'
END 'Destino'
FROM ORDR T0
INNER JOIN RDR1 T1 ON T1.DocEntry=T0.DocEntry
2) La segunda es colocar el campo desde la tabla de usuario
SELECT T0.DocEntry, T1.ItemCode, T2.Name'Destino'
FROM ORDR T0
INNER JOIN RDR1 T1 ON T1.DocEntry=T0.DocEntry
LEFT JOIN [dbo].[@Destinos] T2 ON T2.Code=T1.U_Destino
Slds
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.