Subquery

  • Creatore Discussione Creatore Discussione Ghena
  • Data di inizio Data di inizio

Ghena

Utente Attivo
3 Mar 2005
58
0
0
Ho una situazione di questo tipo:

SQL=("SELECT * FROM mia_tab WHERE Id="&id&" data > (SELECT TOP 1 data from partenze order by data ASC) and data < dateadd("m",1,(SELECT TOP 1 data from mia_tab order by data ASC)) order by data ASC")

si può fare secondo voi?

a me va in errore.

Errore di compilazione di Microsoft VBScript (0x800A03EE)
Previsto ')'

db access e mysql...
 
Devi usare la clausola IN per una cosa del genere. Un esempio:

SELECT * FROM xxx WHERE x IN (SELECT yyy FROM libri)

Comunque ti suggerisco di fare due query: in una prendi il risultato della porzione (SELECT yyy FROM libri) per intenderci, e lo utilizzi poi nella query principale.

Ciao!
 
e quindi?

set rs...
dim risultato
rs.open "select x from xxx", cn, 1
risultato = rs("x")
rs.close
rs.open "select y from yyy where y = "'" & risultato & "'", cn, 1
response.write "hai ottenuto " & rs("y")
rs.close
set rs = nothing

-----

oppure usi la clausola "in"

prova ;)
 
qualcosa ancora non va....




Set rs = Server.CreateObject("ADODB.recordset")
dim data1
rs.open "SELECT TOP 1 data from mia_tab WHERE codoff="&request("codoff")&" order by data ASC",conn,1
data1=dateadd("m",1,rs("data"))
rs.close

rs.open "SELECT * FROM partenze WHERE codoff="&request("codoff")&" and da='"&request("da")&"' and a='"&request("a")&"' and data > '"&data1&"' order by data ASC",conn,1


Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
Il driver ODBC non supporta le proprietà richieste.
/lastfinale4/admin/gestione/add_partenze.asp, line 246

il line 246 è la seconda query

se elimino questo dalla query (and data > '"&data1&"') non va più in errore.

sto a impazzi....
 
invece di eseguire la seconda query prova a stamparla a video

dim sql

sql = SELECT * FROM partenze WHERE codoff="&request("codoff")&" and da='"&request("da")&"' and a='"&request("a")&"' and data > '"&data1&"' order by data ASC"

response.write sql

vedi cosa ti scrive a video e prova ad eseguirla direttamente sul database, access o mysql che sia

fammi sapere...