Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264

    [sql] query su due tabelle...aiuto..!!!

    ho queste tabelle:

    [tab_offerte]

    id_offerta | data_attivo | data_fine



    [tab_prenotazioni]

    id_prenotazione | id_offerta | codice


    devo fare una query che:

    estragga da [tab_offerte] tutte le offerte attive al momento (e ci sono riuscito) e che ne contempo verifichi che in [tab_prenotazioni] non sia presente il "codice" = "A1"


    Aiutoooooo

  2. #2
    SELECT * FROM TAB_OFFERTE O,TAB_PRENOTAZIONI P

    WHERE

    O.ID_OFFERTA=P.ID_OFFERTA
    AND
    P.CODICE<>"A1"
    http://www.anobii.com/isalreadyinuse

  3. #3
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    C'e' una piccola particolarità...


    su [tab_prenotazioni] il campo "id_offerta" potrebbe essere vuoto (o ricorrere n volte)

    come si può fare??

  4. #4
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    E' possibile farlo con una sola query?

    cioè.. il fatto che id_offerta potrebbe non esserci nella tabella [tab_prenotazioni], non permette il collegamento tra le due tabelle... o forse sbaglio?

  5. #5
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    vedi leftJoin
    ...altri 5 anni di purga...

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da henry78
    C'e' una piccola particolarità...


    su [tab_prenotazioni] il campo "id_offerta" potrebbe essere vuoto (o ricorrere n volte)

    come si può fare??
    Cosa significa "ricorrere n volte"?

  7. #7
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Neppure con LEFT JOIN funziona....


    SELECT * FROM tab_offerte LEFT JOIN tab_prenotazioni ON '2008-01-18' BETWEEN date_format( `data_attivo` , '%Y-%m-%d' ) AND date_format( `data_fine` , '%Y-%m-%d' ) AND tab_offerte.id_offerta = tab_prenotazioni.id_offerta AND id_weekend <> 2


    in questo caso, vorrei che mi trovasse tutti i record di tab_offerte compresi nel periodo, tranne quello che si trova in tab_prenotazioni con id_weekend diverso da "2"....

    invece lo tira fuori.... VVoVe:

    ma perchè???? :master:

  8. #8
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    nessuno che mi sappia aiutare?

  9. #9
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    però mi sembra assai strano che non ci sia una soluzione a "norma"...

    - le due tabelle sono progettare bene e soddisfano l'integrità relazionale.

    - la sintassi e la logica della query sembrano corrette.

    - le variabili in gioco sono poche.

    possibile che sql non permetta di soddisfare la mia richiesta?

  10. #10
    non si capisce granche' dalla tua descrizione.

    una cosa e' certa'.... i record delle due tabelle risultano in join tramite id_offerta. Quindi si presume che in tab_prenotazioni non avrebbe senso di esistere un record non connesso alla tabella tab_offerte.

    prova a rifare la richiesta tenendo in considerazione quanto detto. Cosa vuoi ottenere e come sono i dati nelle tabelle

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.