Mysql e due select sulla stessa tabella.

venerdì 04 marzo 2011 - 11.12

IlRiminese Profilo | Newbie

Ciao a tutti,
ho questo problema :
Ho una tabella su cui devo prendere due valori in base alla stessa chiave.
Mi spiego meglio la query di selezione è questa :
"SELECT * FROM calendario WHERE CURDATE()<=DATAFine order by Fantagiornata LIMIT 1"
e sino a qui non c'è problema.Ora però mi sono accorto che devo prendere anche un altro dato ma dal record "passato".
Le relazioni tra più tabelle le so fare ma in una sola no :)

Avevo pensato
Dim query As String = "SELECT c.*,O.CreateForma FROM calendario AS C WHERE CURDATE()<=DATAFine order by Fantagiornata LIMIT 1 INNER join Calendario as O Where O.Fantagiornata=(c.fantagiornata-1)"
Intanto vado a studiore la situzione .
Ciao e grazie

alx_81 Profilo | Guru

>Ciao a tutti,
ciao

>Le relazioni tra più tabelle le so fare ma in una sola no :)
dal punto di vista della sintassi non cambia nulla, basta fare come hai fatto tu, dare un alias alla tabella in ogni sua chiamata per differenziare il riferimento. L'unica cosa da capire è se il dato ti serve come riga in più o come colonna.
Nel primo caso, puoi pensare alla union, nel secondo la self join come l'hai scritta tu va bene purchè l'espressione fantagiornata - 1 sia corretta.
Se il record "passato" non corrisponde a fantagiornata - 1 non è così semplice, dovrai costruirti una query un po' più complessa.
Ma in tal caso procederemo dopo..

>Ciao e grazie
di nulla!

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5