Se pueden combinar dos campos en dentro uno solo?

Discute sobre las herramientas de la base de datos
Responder
droplon
Mensajes: 80
Registrado: Mié May 04, 2011 12:44 pm
Ubicación: Posadas, Misiones

Se pueden combinar dos campos en dentro uno solo?

Mensaje por droplon »

Estimados, ESTOY TRABADO!!
Cómo podría hacer para que en un mismo Campo (Nombre de Cliente) me aparezca "El Apellido y Nombre de una Persona Física" o "La razón social y tipo de una empresa"?

Los pongo en contexto: Estoy creando una BSD para Clientes (y todo lo referido que eso conlleva).
Quisiera conseguir un listado de clientes, pero no se como ordenar las diferentes tablas.

Tengo una Tabla Personas Física con los siguientes campos:
Nombre | Apellido | IDTipoDeDocumento (DNI) | NumDeDocumento | Dirección

Tengo otra Tabla Personas Jurídicas con los siguientes campos:
Razón Social | IDTipodePers.Jurídica (SRL, SA) | IDTipoDeDocumento (CUIT) | NumDeDocumento, Dirección

Y me gustaría tener una Tabla de clientes algo así..
Imagen
Office 4.3.7.2
OpenSuse 13.1
Escritorio KD4
Longi
Mensajes: 810
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Se pueden combinar dos campos en dentro uno solo?

Mensaje por Longi »

Buenas!
Nos alegra que 'ESTÉS TRABAJANDO', da la sensación de actividad y alegría de vivir (al ir en mayúsculas...., en otro contexto sería como una desgracia.) :lol: :lol: :lol:

Bien!
En cuanto a la estructura de las tablas, yo me las ingeniaría para poner todo en una, ya que una razón social viene a ser una persona sin apellidos, pero por lo demás todo es igual, y en la persona física, puedes utilizar precisamente este término como tipo de persona....Con todo ello tendrías una sola tabla, y no tendrías que hacer consultas de unión, que si no es lo que hay que hacer para el siguiente paso.
Para mostrar un listado como el que quieres, si sigues mi consejo anterior, solo tienes que hacer una consulta en la que se hace lo siguiente:

Código: Seleccionar todo

COALESCE ( "Nombre", '' ) || ' ' || COALESCE ( "Apellidos", '' )
Las barras verticales hacen de unión, pongo un hueco entre el nombre y los apellidos, y la función coalesce se usa para que, aunque no haya valor en el campo, sí que haga la composición.
Si te mantienes en dos tablas distintas, tendrías que hacer dos consultas idénticas (mismo número de columnas), y después hacer una unión entre ellas.
En caso de que la tabla en cuestión la quieras sacar en un informe, el informe tendría que tener su origen de datos en la consulta que hemos 'explicado'.

Un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
droplon
Mensajes: 80
Registrado: Mié May 04, 2011 12:44 pm
Ubicación: Posadas, Misiones

Re: Se pueden combinar dos campos en dentro uno solo?

Mensaje por droplon »

Longi escribió:Buenas!
Nos alegra que 'ESTÉS TRABAJANDO', da la sensación de actividad y alegría de vivir (al ir en mayúsculas...., en otro contexto sería como una desgracia.) :lol: :lol: :lol:
......
Amigo, podríamos decir que el contexto de mi trabajo es una tragedia! jajajajaja (gracias por el buen humor)

No me quedó muy claro por haber hecho una lectura rápida, pero volveré a leer detenidamente cada palabra que me respondiste para ver de que manera puedo aplicarlo....
Lo que me recomiendas, de poner a todos en la una sola tabla, no sería recomendable ya que dependiendo del tipo de persona que se trate, osea si es P.física o P.Jurídica, necesito tener diferentes tipos de campos, como por ejemplo:
Una Persona Física, podría ser Conyuge de otra o Apoderado o Representante de una Pers. Jurídica, por lo tanto no podría ir en una misma tabla.

A su vez, tanto una Pers. Física Como Jurídica, pueden participar como "beneficiario" de un "contrato" e incluso, ambos, podrían compartir un mismo domicilio, solo que para la PF, el domicilio sería un domicilio real y para la PF, podría ser el domicilio de la sede social. Por este motivo, es que me veo obligado a crear otra tabla con Domicilios y luego vincularlo a un ID de Cliente.... creo que es muy complejo, pero recién estoy empezando en esto.... Me falta avanzar un montón!!

Por ahora quería saber si era posible combinar dos campos en uno solo para hacer una consulta de clientes.


Lo por ahí ya me anticipo, es si tendré complicaciones al momento de crear un formulario para dar de alta un nuevo cliente.. Para saber si desde el formulario, podré determinar, dependiendo del tipo de persona, en que tabla deberá cargarse... Si es PF, que los datos, se carguen en la tabla de PF y si es PJ, a la tabla de Pers. Jurídicas.

Bueno, amigo, más tarde, volveré y veré como puedo avanzar. Mientras tanto. muchas gracias por darme una mano para saber hacia donde debo ir
Office 4.3.7.2
OpenSuse 13.1
Escritorio KD4
Longi
Mensajes: 810
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Se pueden combinar dos campos en dentro uno solo?

Mensaje por Longi »

Buenas de nuevo!

Insisto en el tema de la tabla única, aunque solo sea para que lo tengas en cuenta, ya que con un campo booleano (si/no) te puede servir para distinguirlos, aunque luego tengas campos que rellenas en un caso y no en el otro.
La arquitectura es básica, y se necesita pensarla bien antes de empezar, ya que si no luego todo son parches y complicaciones en los formularios (por ejemplo no podrías tener todo en un solo formulario actualizable, o al menos habría bastantes dificultades para hacerlo, mientras que con una sola tabla todo eso te lo evitarías).
De todos modos quien debe trabajar con ello es el que más sabe de las condiciones del trabajo, por lo que, aunque te indico el camino, por supuesto que seguirás el que mejor te parezca, pero no lo hagas sin tener en cuenta más de una opción y haber descartado las que, al menos a simple vista parezcan peores.

Te digo lo de la arquitectura por experiencia propia. Suelo ser bastante poco reflexivo (Vamos, un chapuzas!), y luego tengo que hacer malavares para conseguir lo que otra gente consigue sin esfuerzo.

Otro saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
mriosv
Mensajes: 2366
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: Se pueden combinar dos campos en dentro uno solo?

Mensaje por mriosv »

Escucha a Longi, planificar las tablas a utilizar y que campos tendrá cada una es fundamental.

Por ejemplo, los apoderados de una compañía (también los podría haber de una persona física), sería mejor que estuvieran en una tabla independiente, así no habría limitaciones en cuantos puedes asignar a cada empresa/persona. Es mas en esa tabla solo se necesitarías para cada registro la clave primaria del mismo, el número de clave primaria (del fichero de personas fis/jur) de la empresa de la que es apoderado y la clave primaria (del fichero de personas fis/jur) de la persona física que es apoderada.
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
droplon
Mensajes: 80
Registrado: Mié May 04, 2011 12:44 pm
Ubicación: Posadas, Misiones

Re: Se pueden combinar dos campos en dentro uno solo?

Mensaje por droplon »

Longi escribió:Buenas de nuevo!

Insisto en el tema de la tabla única, ..........
Otro saludo! ;)
Creo que seguiré ese camino, el de una tabla única
Office 4.3.7.2
OpenSuse 13.1
Escritorio KD4
droplon
Mensajes: 80
Registrado: Mié May 04, 2011 12:44 pm
Ubicación: Posadas, Misiones

Re: Se pueden combinar dos campos en dentro uno solo?

Mensaje por droplon »

mriosv escribió:Escucha a Longi, planificar las tablas a utilizar y que campos tendrá cada una es fundamental.

Por ejemplo, los apoderados de una compañía (también los podría haber de una persona física), sería mejor que estuvieran en una tabla independiente, así no habría limitaciones en cuantos puedes asignar a cada empresa/persona. Es mas en esa tabla solo se necesitarías para cada registro la clave primaria del mismo, el número de clave primaria (del fichero de personas fis/jur) de la empresa de la que es apoderado y la clave primaria (del fichero de personas fis/jur) de la persona física que es apoderada.
Tambien he pensado en esto...

Pero luego de probar (imaginariamente), me pareció simplificar todo en una sola tabla que se llame "PERSONAS"
Luego, otra tabla que se llame "TIPO DE VINCULOS"

Y otra tabla para vincular ambos, que se llame "VINCULACIONES"

Por ejemplo
IDVinculación | IDPersona1 | IDTipodeVinculo | IDPersona 2
1 | | #22 Juan Perez | 1 (Apoderado) | #23 Puma SRL
2 | | #17 Lucia Almirón | 5 (Conyuge) | #22 Juan Perez
Office 4.3.7.2
OpenSuse 13.1
Escritorio KD4
Responder