Article View: chile.comp.programacion
Article #2530Re: alias en select sql
From: Rickoj
Date: Tue, 06 Dec 2005 03:11
Date: Tue, 06 Dec 2005 03:11
119 lines
4912 bytes
4912 bytes
A Jos� Miguel Santib��ez se le ocurrio tipear
> En el cap�tulo anterior (news:dn20hv$dcb$1@news.nivel5.cl), "Rick_oj"
> <rick_oj@[sin-esto]tutopia.com> dijo:
>
> (...)
>
>>>> tengo algo asi
>>>>
>>>> SELECT * FROM usuario, facturacion WHERE facturacion.id <> NULL
>>>> ORDER BY usuario.Nombre
>>>>
>>>> me gustaria poder hacer algo asi
>>>>
>>>> SELECT * as resultado FROM usuario, facturacion WHERE
>>>> facturacion.id <> NULL ORDER BY usuario.Nombre if resultado=NULL
>>>> resultado='No hay datos'
>>>>
>>>> los resultados se van a un campo html select, entonces con lo que
>>>> tengo cuando no hay resultados el select esta vacio, con lo segundo
>>>> mostraria no hay datos cuando no existan resultados
>>>>
>>>> no estoy seguro si se puede usar if y asignacion de variables del
>>>> tipo alias en sql
>>>>
>>>> se agradece
>>>>
>>>
>>> Est�s un tanto mareado con el SQL... eso no funciona as�...
>>
>> a�ejo y no me acordaba por eso pregunte
>
> ta bien, no es pa' ponerse sensible :-)
no es pa tando mas me retaba un profe :p
>
>>> el alias, siempre es a un campo espec�fico (o una tabla espec�fica),
>>> por ejemplo:
>>> select count(*) as cantidad from tabla;
>>> select campo1, count(*) as cantidad from tabla having cantidad > 0
>>> group by campo1;
>>>
>>> y su objetivo es simplificar la lectura o el acceso a los datos
>>> (primer caso) y/o adem�s permitir aplicar restricciones (segundo
>>> caso).
>>>
>>> Pero para lo que pides, necesitas combinar SQL y c�digo...
>>>
>>> SELECT * FROM usuario, facturacion WHERE facturacion.id
>>> <> NULL ORDER BY usuario.Nombre;
>>>
>>> luego determinar si hay datos (la mayor�a de las APIs te permiten
>>> consultar la cantidad de datos) y si no hay, entonces colocar el
>>> mensaje y si hay, recorrer la lista... Te pondr�a alg�n ejemplo,
>>> pero no indicaste lenguaje...
>>
>> algo habia pensado, pero no estab seguro si sql me lo saba de una
>>
>> mysql y php
>
> lo supuse, pero adem�s andaba corto de tiempo ;-)
>
> $sql = 'SELECT *
> FROM usuario, facturacion
> WHERE facturacion.id is not NULL
> ORDER BY usuario.Nombre';
> $res = mysql_query($sql) or die(" $sql -> " . mysql_error());
> echo "<table>";
> if (mysql_num_rows($res) == 0) {
> echo "<tr><th>No hay datos...</th></tr>";
> } else {
> while ($row = mysql_fetch_row($res)) {
> echo "<tr>";
> for ($i = 0; $i < count($row); $i++) {
> echo "<td>" . $row[$i] . "</td>";
> }
> echo "</tr>";
> }
> }
> echo "</table>";
>
voy a darle una vuelta a esto, parece ser lo que necesito
>>> (PD: en el SQL falta la relaci�n entre facturaci�n y usuario)
>>
>> usuario tiene los nombres y un identificador, facturacion la fecha en
>> que les facturan la cuenta el select muestra a todos los usuarios
>> disponibles que aun no se les ingresa la fecha de facturacion
>>
>
> Ok, pero debe haber alg�n campo que relacione ambas tablas,
> probablemente en facturaci�n est� el id del usuario y eso hay que
> agregarlo al query... ("AND usuario.id = facturacion.user_id" o algo
> similar).
usuario.id = facturacion.id pero estoy buscando las facturacion.id osea los
identificadores de facturacion de los usuarios que no se han llenado por eso
igual a NULL
>
> O peor, esto cachando que debes necesitar algo como:
>
> SELECT usuario.*
> FROM usuario left join facturacion
> on usuario.id = facturacion.id
> WHERE facturacion.id is null
> ORDER BY usuario.Nombre
>
> para que responda a lo que necesitas...
join? mmm si hace el join buscara los datos iguales yo necesito los datos
del usuario para poder completar los campos en facturacion, no se si me
explico bien (debe ser la hora y lo cansado)
gracias
--
"Nadie puede quitarme el derecho
a ser un perfecto imbecil"
Technical Details
Message-ID:
<dn2vgq$q84$1@news.nivel5.cl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!not-for-mailReferences:
<dn1p7g$agt$1@news.nivel5.cl> <Xns9723998EBBDCFjmsnews@200.27.221.71> <dn20hv$dcb$1@news.nivel5.cl> <Xns9723F06C738D7jmsnews@200.27.221.71>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,9e1bad619270f126 X-Google-Attributes: gid1593cb,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!not-for-mail From: "Rick_oj" <rick_oj@[sin-esto]tutopia.com> Newsgroups: chile.comp.programacion Subject: Re: alias en select sql Date: Tue, 6 Dec 2005 00:11:19 -0300 Organization: Varios Lines: 121 Message-ID: <dn2vgq$q84$1@news.nivel5.cl> References: <dn1p7g$agt$1@news.nivel5.cl> <Xns9723998EBBDCFjmsnews@200.27.221.71> <dn20hv$dcb$1@news.nivel5.cl> <Xns9723F06C738D7jmsnews@200.27.221.71> NNTP-Posting-Host: pc-115-201-120-200.cm.vtr.net X-Trace: news.nivel5.cl 1133838682 26884 200.120.201.115 (6 Dec 2005 03:11:22 GMT) X-Complaints-To: news@news.nivel5.cl NNTP-Posting-Date: Tue, 6 Dec 2005 03:11:22 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-RFC2646: Format=Flowed; Original