Visualizzazione dei risultati da 1 a 8 su 8

Discussione: query su due tabelle

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    642

    query su due tabelle

    è possibile fare una query su una colonna di una tabella e contemporaneamente sulla colonna di un'altra tabella senza fare una join?

    per esempio select tabella1.colonna1,tabella2.colonna1 from tabella1,tabella2 dove le due colonne non hanno nessun legame

    se si come recupero poi i dati

  2. #2
    no, non puoi

    a meno che non vi sia una relazione fra i dati (JOIN) non ha senso fare una query con campi diversi

    prova a immaginare come potrebbe essere fatta la tabella risultante (quella della query)...
    tu sapresti "scriverla" su un foglio di carta?
    no
    e neppure access può

    la soluzione (ovvia) è quella di fare 2 query
    una per una tabella e una per un'altra tabella

    ---

    se invece c'è un motivo alla base di questa necessità spiegalo e forse troviamo una soluzione

    ciao
    san imente saluta

    * http://simonecingano.it *

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    642
    il motivo c'e' e anche una soluzione parziale che adesso spiego
    immagina che tu abbia 10 variabili di cui usufruiscono tutte le pagine e solo 5 specifiche di ciascuna pagina

    quando io mi trovo in quella pagina devo fare
    select colonna1 from tabella1
    union all
    select var from tabella2 where pagina=questa pagina


    il guaio è che riesco a farlo funzionare solo se se
    il numero delle variabili comuni coincide con quello delle variabili specifiche altrimenti si ingenera un errore,

    la mia domanda è questa come fare una union all quando le due colonne non hanno lo stesso numero di records?

    sicuramente ci sara una soluzione che io non conosco

  4. #4
    mmm...

    evidente che si generi un errore se il numero differisce

    ma perchè non fare due query separate?

    (potrebbe essere un problema di strutturazione, spesso si tende a complicarsi la vita solo per essere partiti con una certa idea... non so se sia questo il caso)
    san imente saluta

    * http://simonecingano.it *

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    642
    ho provato con due query ma il tempo di esecuzione aumenta troppo

  6. #6
    allora valutiamo la cosa

    (prima di tutto due piccoli consigli per velocizzare i tempi a prescindere da questo problema

    1: usare il driver OLEDB che è molto più veloce di quello che si usa di standard
    Conn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("miodb.mdb") & " ; Persist Security Info = False"
    2: se possibile non usare recordset dinamici
    rs.open SQL, Conn, 3, 3
    ma esecuzioni non collegate
    set rs = conn.execute(SQL)
    (che non devono essere chiuse [rs.close] e sono più performanti)

    -----

    tornando a noi.

    se hai voglia di spiegarmi un po' più in dettaglio la cosa ci posso pensare su...
    per ora sei sul vago

    hai dei record che tutti debbono caricare
    (tabella1)
    e dei record selettivi solo per alcune pagine
    (tabella2)

    io rimango dell'idea che la soluzione migliore siano due query
    non so di quanto si incrementi il tempo di esecuzione

    quanti sono i record che vengono caricati?
    san imente saluta

    * http://simonecingano.it *

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    642
    ops mi sono accorto che funziona adesso anche se le due tabelle hanno diverso numero di records forse prima sbagliavo qualcosa non so, meglio cosi

    grazie

  8. #8
    Originariamente inviato da cipcip
    ops mi sono accorto che funziona adesso anche se le due tabelle hanno diverso numero di records forse prima sbagliavo qualcosa non so, meglio cosi

    grazie
    buon per te.
    se hai problemi io sono qui
    san imente saluta

    * http://simonecingano.it *

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.