🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #11266

Re: Dos dudas sobre SQL.

#11266
From: Xavier Montero
Date: Sun, 02 Dec 2001 23:11
80 lines
3305 bytes
Lo m�s cercano que he conseguido es que muestre la tabla entera
con las notas y la media al lado, con esta sentencia:

------- BEGIN OF SQL SENTENCE -------------

select	nombre, b.nota as n, avg(a.nota) as media

from	opositores, examen1 as a,examen1 as b

where	opositores.dni = b.dni

group by b.dni;

------- END OF SQL SENTENCE -------------

Resultado:

+--------+-------+-----------+
| nombre | n     | media     |
+--------+-------+-----------+
| Xavi   | 1.200 | 6.9600000 |
| Maite  | 9.110 | 6.9600000 |
| Laura  | 9.320 | 6.9600000 |
| Marc   | 8.210 | 6.9600000 |
+--------+-------+-----------+
4 rows in set (0.00 sec)

mysql>

Pero cuando a�ado en el where "n > media" me dice que no
encuentra las columnas "n" y "media" �?

No s� si tendr� una versi�n de mySQL un poco vieja y se hace
la pissha un l�o con los aliases de los nombres de las
columnas.

Supongo que el truco se ve, no? Instancio para cada l�nea
de la tabla, la misma tabla entera y le pego un average l�nea
a l�nea, por ejemplo, sin el group by (y sin el avg() l�gicamente)
queda as�:

select nombre, b.nota as n, a.nota as media
from opositores, examen1 as a,examen1 as b
where opositores.dni = b.dni
order by b.dni;

+--------+-------+-------+
| nombre | n     | media |
+--------+-------+-------+
| Xavi   | 1.200 | 1.200 |
| Xavi   | 1.200 | 9.110 |
| Xavi   | 1.200 | 9.320 |
| Xavi   | 1.200 | 8.210 |
| Maite  | 9.110 | 1.200 |
| Maite  | 9.110 | 9.110 |
| Maite  | 9.110 | 9.320 |
| Maite  | 9.110 | 8.210 |
| Laura  | 9.320 | 1.200 |
| Laura  | 9.320 | 9.110 |
| Laura  | 9.320 | 9.320 |
| Laura  | 9.320 | 8.210 |
| Marc   | 8.210 | 1.200 |
| Marc   | 8.210 | 9.110 |
| Marc   | 8.210 | 9.320 |
| Marc   | 8.210 | 8.210 |
+--------+-------+-------+

Es decir, cuando agrupo por b.dni, le pego la media sobre el campo
"media" de las 4 l�neas que me salen en este �ltimo resultado para
Xavi, luego lo hago para Maite (y ser� el mismo resultado) y as�
sucesivamente.

Para 6000 registros como tiene, puede ir un poco lento, pero
funcionar, funcionar�.

Lo que puedes probar es si la comparaci�n "n > media" te funciona
y posteas el �xito, ok?

Saludos.
Xavi.
Technical Details
Message-ID: <3C0AB50F.C7DC52BB@dsitelecom.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!opentransit.net!newsfeed.comtenidos.com!newsfeeder.wanadoo.es!news.antakira.com!not-for-mail
References: <87g06u69nh.fsf@meltdown.ion>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,b998237532da112b
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2001-12-02 16:06:04 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!opentransit.net!newsfeed.comtenidos.com!newsfeeder.wanadoo.es!news.antakira.com!not-for-mail
From: Xavier Montero <xmontero@dsitelecom.com>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Dos dudas sobre SQL.
Date: Mon, 03 Dec 2001 00:11:11 +0100
Organization: Digital Sound Items
Lines: 80
Message-ID: <3C0AB50F.C7DC52BB@dsitelecom.com>
References: <87g06u69nh.fsf@meltdown.ion>
NNTP-Posting-Host: 212.25.147.135
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: news.wanadoo.es 1007337342 27845 212.25.147.135 (2 Dec 2001 23:55:42 GMT)
X-Complaints-To: usenet@wanadoo.es
NNTP-Posting-Date: Sun, 2 Dec 2001 23:55:42 +0000 (UTC)
X-Mailer: Mozilla 4.77 [en] (Windows NT 5.0; U)
X-Accept-Language: en