• User Attivo

    Si possono unire due query?

    Ciao a tutti, in una pagina ho questo codice:

    
    //connessione e recordset per agriturismo
    set conn = server.createobject("ADODB.Connection")
    conn.open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = "& server.MapPath("/database/agriturismi.mdb"))
    
    set recset = Server.createobject("ADODB.Recordset")
    
    // connessione e recordset per richieste
    conn2.open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = "& server.MapPath("/database/richieste.mdb"))
    
    set recset2 = Server.createobject("ADODB.Recordset")
    
    conn.execute("Select nome,email,fax from agriturismi1 where nome = 'campagna verde'")
    
    while not recset.eof
    conn2.execute("Select richiedente, richiesta from richieste1 where id = '23'")
    
    Response.write("nome= "&recset("nome")&" mail= "&recset("email")&" fax= "&recset("fax")&" richiedente= "&recset2("richiedente")&" richiesta= "&recset2("richiesta")
    
    loop
    
    //chiudi e pulisci tutto
    
    ```Ho messo due connessioni, due recordset, ma non so se ho fatto bene, in quando smanettando, ho visto che si possono unire le query, ma in questo caso, ho due tabelle, in due db diversi, con due istruzioni WHERE.
    
    E' possibile farlo??? Se si, potete darmi una dritta???
    
    Grazie, ciao.

  • Super User

    Che vuol dire unire le query? Dovresti essere un pò più preciso.


  • User

    Ciao DarioMarco,
    unire le query è possibile ( se come ho capito intendi farne 2 in una),
    purtroppo nel tuo caso questo non è possibile perchè hai 2 connessioni a 2 db differenti.

    Quindi il codice che hai nella pagina va più che bene 😉


  • User Attivo

    thnx dubbio, infatti sto mantenendo questo sistema. Purtroppo, penso che si possa essere l'alternativa di formulare una sola query che permette di connettersi a due db diversi con due tabelle per ogni db (scusate il pasticcio).

    io ho provato con l'union, ma purtroppo è necessario che la struttura delle due tabelle sia identica;
    join, non serve, in quanto le due tabelle devono essere relazionate, e loro non lo sono, (es. lo stesso id, o lo stesso nome), in quanto, in una viene selezionata in base al nome (where nome = campagna verde) e l'altra in base all'id (where id=23).

    Per Cali1981 Ho cercato di riportare il mio ragionamento in questo post, purtroppo, non saprei come spiegarlo meglio, ma ti ringrazio per aver dato un'occhiata al codice.

    :ciauz:

    p.s. lo scopo di unire la query, sarebbe quello di velocizzare il processo, ma se questo non serve a velocizzare, ok, mi serve solo per cultura :tongueout:.


  • Super User

    Allora, se sei incerto se fare un'union o una join, vuol dire che non sai di preciso cosa vuoi fare. Allora, ragioniamo. Tu hai due tabelle, A e B, con questa struttura:

    Tabella A

    Campi:
    ID (chiave)
    Nome
    Descrizione

    Tabella B

    Campi:
    ID (chiave)
    Tipo
    Quantità

    Ora, poniamo che queste siano le tabelle che usi tu, tu in uscita che risultati vuoi avere? Se servono altri campi modifica questo esempio, ma facci capire meglio.


  • User Attivo

    Seleziona da db1 Tabella A i campi Nome, Descrizione con id=23; seleziona da db2 tabella B i campi tipo, quantità con nome = frutta

    :mmm:


  • Super User

    Ok capito, per quest fai due query differenti. Poi con unire cosa intendi? Non puoi fare due query successive e usare i dati?


  • User Attivo

    effettivamente è quello che mi stanno dicendo tutti, cmq all'inizio ero partito con quest'idea, infatti, nel 3d ho riportato lo script.

    grazie, ciao.