Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Freedom
    Registrato dal
    Jan 2003
    Messaggi
    839

    Due select incrociate in unica tabella

    Buongiorno a tutti!

    Vi devo chiedere una mano per una query. ...Purtroppo il db è access.

    Dunque,
    ho una tabella così composta:

    IdMs | IdMitt | IdDest | CartellaMit | CartellaDest | DataMitt | DataDest

    Ora, vorrei estrarre TUTTI i campi così:

    "SELECT * FROM msg WHERE IdMitt=22 AND CartellaMitt=3 ORDER BY DataMitt ASC;"

    e

    "SELECT * FROM msg WHERE IdDest=22 AND CartellaDest=3 ORDER BY DataDest ASC;"

    In pratica, vorrei selezionare i campi in questione ordinandoli per la data (incrociandola tra le due: DataDest e DataMitt).

    Come si può fare?
    Sicut Nox Silentes

  2. #2
    non ti basta usare una OR?

  3. #3
    no, non ti basta. devi usare UNION e poi fare una query esterna con la order by

  4. #4
    Utente di HTML.it L'avatar di Freedom
    Registrato dal
    Jan 2003
    Messaggi
    839
    Originariamente inviato da optime
    no, non ti basta. devi usare UNION e poi fare una query esterna con la order by

    Difatti optime!

    Ho provato così:

    SELECT * FROM msg WHERE IdMitt=22 AND CartellaMitt=3 UNION SELECT * FROM msg WHERE IdDest=22 AND CartellaMitt=3 ODER BY DataMitt ASC, DataDest ASC;


    Però mi da errore:
    Errore di sintassi (manca l'operatore) nella espressione 'IdDest=22 AND CartellaMitt=3 ODER BY DataMitt ASC, DataDest ASC'.
    Sicut Nox Silentes

  5. #5
    devi fare

    codice:
    SELECT * FROM
    (
    SELECT DataMitt AS MiaData, * FROM ...
    UNION
    SELECT DataDest AS MiaData, * FROM ...
    ) AS miaTabella
    ORDER BY MiaData
    facce sape'

  6. #6
    Utente di HTML.it L'avatar di Freedom
    Registrato dal
    Jan 2003
    Messaggi
    839
    Allora, ho fatto come tu mi dici:

    SELECT * FROM (SELECT DataMitt AS MiaData, * FROM msg WHERE IdMitt=22 AND CartellaMitt=3 UNION SELECT DataDest AS MiaData, * FROM msg WHERE IdDest=22 AND CartellaMitt=3) AS MiaTabella ODER BY MiaData;


    Mi da questo errore:

    errore '80040e14'

    Errore di sintassi nella clausula FROM.
    Sicut Nox Silentes

  7. #7
    il problema sta qui

    ...3) AS MiaTabella ODER BY MiaData;

    prova a togliere AS, a togliere AS MiaTabella...

    access è un po' rognosetto su questo

  8. #8
    Utente di HTML.it L'avatar di Freedom
    Registrato dal
    Jan 2003
    Messaggi
    839
    Ho provato:
    ...ODER BY MiaData;"

    Stesso identico errore!

    Sicut Nox Silentes

  9. #9
    Originariamente inviato da Freedom
    Ho provato:
    ...ODER BY MiaData;"

    Stesso identico errore!

    ODER?

  10. #10
    Utente di HTML.it L'avatar di Freedom
    Registrato dal
    Jan 2003
    Messaggi
    839
    Originariamente inviato da optime
    ODER?
    Idiota IO...

    Funziona alla grande !!!

    Grazie davvero Opti!
    Sicut Nox Silentes

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.