Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-08-2008
mike_1979 mike_1979 is offline
Miembro
 
Registrado: jul 2008
Posts: 17
Poder: 0
mike_1979 Va por buen camino
Uso de Instruccion AS para crear campo en SQL

Hola a todos, estoy por acá de nuevo con una consulta para Uds. necesito poder asignar como nombre de un campo de resultado de un consulta el el contenido de un registro, intenté usando el comando "as" + el nombre del campo q contiene el registro pero me escribe el nombre del campo, no su contenido. Espero q puedan ayudarme. Este es el codigo q uso:

[select alumno.alumno_apellido, alumno.alumno_nombre,
(select infxmateria.ixm_nota from infxmateria where infxmateria.ixm_idmateria = 1 and ixm_idciclolectivo = 2008 and
ixm_idalumno = alumno.alumno_idalumno and ixm_idinforme = 1) as materia.materia_descripcion
from alumno join alumxcurso on (alumno.alumno_idalumno = alumxcurso.axc_idalumno)where alumxcurso.axc_idcurso = 1 and alumxcurso.axc_iddivision = 'A' and alumxcurso.axc_idciclolectivo = 2008 order by alumno.alumno_apellido]

el resultado es:
apellido nombre materia.materia_descripcion
perez juan 8.50

yo necesito q en lugar de ponerme el nombre del campo me ponga por ejemplo matematica1

Última edición por mike_1979 fecha: 21-08-2008 a las 20:46:16.
Responder Con Cita
  #2  
Antiguo 21-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Código SQL [-]
select alumno.alumno_apellido, alumno.alumno_nombre,

(select infxmateria.ixm_nota from infxmateria where infxmateria.ixm_idmateria = 1 and ixm_idciclolectivo = 2008 and  ixm_idalumno = alumno.alumno_idalumno and ixm_idinforme = 1) as materia.materia_descripcion

from alumno join alumxcurso on (alumno.alumno_idalumno =
alumxcurso.axc_idalumno)where alumxcurso.axc_idcurso = 1 and alumxcurso.axc_iddivision = 'A' and alumxcurso.axc_idciclolectivo =
2008 order by alumno.alumno_apellido
__________________
Siempre Novato

Última edición por Caral fecha: 21-08-2008 a las 20:48:25.
Responder Con Cita
  #3  
Antiguo 21-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
La verdad no lo entiendo bien, tal vez asi:
Código SQL [-]
select alumno.alumno_apellido, alumno.alumno_nombre,
(select infxmateria.ixm_nota from infxmateria where infxmateria.ixm_idmateria = 1 and ixm_idciclolectivo = 2008 and
ixm_idalumno = alumno.alumno_idalumno and ixm_idinforme = 1) as matematica1
from alumno join alumxcurso on (alumno.alumno_idalumno = alumxcurso.axc_idalumno)where alumxcurso.axc_idcurso = 1 and alumxcurso.axc_iddivision = 'A' and alumxcurso.axc_idciclolectivo = 2008 order by alumno.alumno_apellido
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 21-08-2008
mike_1979 mike_1979 is offline
Miembro
 
Registrado: jul 2008
Posts: 17
Poder: 0
mike_1979 Va por buen camino
Hola Caral, gracias por responderme, aparentemetne no me expliqué bien, lo que necesito es lo siguiente: yo recorro la tabla materia para ir chequeando las notas de cada materia por cada alumno asi obtengo el apellido del alumno, su nombre y la nota q tiene en uan determinada materia, yo no se como se llama esa materia, lo q necesito es q bajo el nombre de esa materia se coloquen las notas

Apellido-----Nombre-----nombre de materia------nombre de otra materia

perez------- juan ------------ 8-------------------- 8


despues de consultar las notas en infxmateria necesito dar el nombre a esa columna con el nombre de la materia la cual no conozco por eso quiero ponerla con "as" pero no me funciona poniendo "as materia.materia_descripcion"
Responder Con Cita
  #5  
Antiguo 21-08-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por mike_1979 Ver Mensaje
Hola Caral, gracias por responderme, aparentemetne no me expliqué bien, lo que necesito es lo siguiente: yo recorro la tabla materia para ir chequeando las notas de cada materia por cada alumno asi obtengo el apellido del alumno, su nombre y la nota q tiene en uan determinada materia, yo no se como se llama esa materia, lo q necesito es q bajo el nombre de esa materia se coloquen las notas

Apellido-----Nombre-----nombre de materia------nombre de otra materia

perez------- juan ------------ 8-------------------- 8


despues de consultar las notas en infxmateria necesito dar el nombre a esa columna con el nombre de la materia la cual no conozco por eso quiero ponerla con "as" pero no me funciona poniendo "as materia.materia_descripcion"
y porq haces la seleccion del campo como si viniera de la tabla de materias, quizas con esto si sirva:

Código SQL [-]
select alumno.alumno_apellido, alumno.alumno_nombre,
(select infxmateria.ixm_nota from infxmateria where infxmateria.ixm_idmateria = 1 and ixm_idciclolectivo = 2008 and
ixm_idalumno = alumno.alumno_idalumno and ixm_idinforme = 1) as materia
from alumno join alumxcurso on (alumno.alumno_idalumno = alumxcurso.axc_idalumno)where alumxcurso.axc_idcurso = 1 and alumxcurso.axc_iddivision = 'A' and alumxcurso.axc_idciclolectivo = 2008 order by alumno.alumno_apellido
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #6  
Antiguo 21-08-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Lo que yo entiendo es que el valor de la columna materia lo quiere colocar como título, con el 'AS' estás colocando un nombre a la columna pero no el valor de la columna.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 21-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No estoy seguro, tal vez asi:
Código SQL [-]
select alumno.alumno_apellido, alumno.alumno_nombre,
(select infxmateria.ixm_nota as [materia.materia_descripcion]
 from infxmateria where infxmateria.ixm_idmateria = 1 and ixm_idciclolectivo = 2008 and
ixm_idalumno = alumno.alumno_idalumno and ixm_idinforme = 1) 
from alumno join alumxcurso on (alumno.alumno_idalumno = alumxcurso.axc_idalumno)where alumxcurso.axc_idcurso = 1 and alumxcurso.axc_iddivision = 'A' and alumxcurso.axc_idciclolectivo = 2008 order by alumno.alumno_apellido
No encuentro en el select donde mencionar al nombre de la materia.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 21-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Segun lo que veo tiene una tabla que se llama Materia pero no esta en el select, por eso es que me parece que no aparece como tal.
No se.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #9  
Antiguo 21-08-2008
mike_1979 mike_1979 is offline
Miembro
 
Registrado: jul 2008
Posts: 17
Poder: 0
mike_1979 Va por buen camino
Hola Eduarcol, de esa manera es como obtengo el idmateria para ubicarla en la tabla de movimiento (infxmateria) todo eso funciona bien mi unico problema es lograr mediante "as" dar como nombre de columna el contenido de un campo o sea;
select
(select nota from infxmateria where idmateria = materia.materia_idmateria) as .........
where alumno en tal o cual curso

hasta alli todo ok pero luego del "as" no se q poner para q me ponga el contenido del campo descripcion de la tabla materia (q seria el nombre de la materia correspondiente al idmateria q ya usé)
Responder Con Cita
  #10  
Antiguo 21-08-2008
mike_1979 mike_1979 is offline
Miembro
 
Registrado: jul 2008
Posts: 17
Poder: 0
mike_1979 Va por buen camino
No CAral, ya lo porbé con corchetes y lo que pone como titulo de la columna es lo q ponés entre corchetes no el contenido de ese campo
Responder Con Cita
  #11  
Antiguo 21-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Veamos lo que hay:
tablas: alumno, nfxmateria, materia.

Código SQL [-]
select alumno.alumno_apellido, alumno.alumno_nombre,
(select infxmateria.ixm_nota, materia.materia_descripcion from infxmateria where infxmateria.ixm_idmateria = 1 and ixm_idciclolectivo = 2008 and
ixm_idalumno = alumno.alumno_idalumno and ixm_idinforme = 1) 
from alumno join alumxcurso on (alumno.alumno_idalumno = alumxcurso.axc_idalumno) innerJoin infxmateria.ixm_idmateria = materia.materia_idmateria where alumxcurso.axc_idcurso = 1 and alumxcurso.axc_iddivision = 'A' and alumxcurso.axc_idciclolectivo = 2008 order by alumno.alumno_apellido

Código Delphi [-]
DBgrid1.Colums[3].Title:= AdoQuery1.filebyname('materia_descripcion').Value;
Lo mas seguro es que no sepa por donde va, pero solo trato de darte ideas.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #12  
Antiguo 21-08-2008
mike_1979 mike_1979 is offline
Miembro
 
Registrado: jul 2008
Posts: 17
Poder: 0
mike_1979 Va por buen camino
Muchas Gracias Caral y a todos, pero al final parece que no se puede dar nombre a una columna con "as" poniendo el contenido de un campo, al parecer le instruccion as solo da como combre strings o sea cadena de caracteres
Responder Con Cita
  #13  
Antiguo 21-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Todo tiene solucion, espera por ahi debe estar Roman, el te ayudara.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #14  
Antiguo 21-08-2008
mike_1979 mike_1979 is offline
Miembro
 
Registrado: jul 2008
Posts: 17
Poder: 0
mike_1979 Va por buen camino
Ok, Caral Muchas gracias.
Responder Con Cita
  #15  
Antiguo 21-08-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Todo tiene solucion, espera por ahi debe estar Roman, el te ayudara.
Saludos
jajajaja te pasas

La forma en que yo lo solucione es relanzando una segunda consulta al momento de mostrar los titulos...
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #16  
Antiguo 21-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Vamos hombre, que le estoy dejando algo a Roman, no ves que casi no tiene post.
Ademas, si alguien sabe de esto (que yo sepa ) es el.
Saludos
__________________
Siempre Novato
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Instruccion para obtener un valor de un GridView JuanErasmo .NET 1 08-12-2006 23:07:08
Instrucción sencilla para contar los campos de una tabla paradox David OOP 1 23-10-2006 13:35:07
Instrucción dinamica para desactivar menu en Delphi Gustavo Restrep Varios 3 01-06-2006 20:42:11
como hago para ejecutar una instruccion de ms-dos? lazarous Varios 2 17-10-2005 13:39:04
¿Qué instrucción es necesaria para abrir un archivo PDF? vhirginia Varios 10 07-05-2004 00:05:36


La franja horaria es GMT +2. Ahora son las 02:13:42.


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