Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Aiuto query

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    105

    Aiuto query

    Ciao a tutti, mi scuso per il titolo generico ma non saprei come altro intitolare questo post.

    Sto' lavorando ad un progetto ma sono arenato su un problema che non riesco a risolvere.

    Praticamente ho una tabella con 3 tipi di camere, tipo A, tipo B, tipo C.
    La camera tipo A può ospitare 3 o 2 o 1 persona.
    Le camere tipo B e C possono ospitare 2 o 1 persona.

    Conoscendo il numero delle persone che intendono occupare le camere, voglio mostrare a video tutte le possibili combinazioni, ad esempio:

    3 persone possono essere sistemate così:

    1 camera tipo A con 3 persone tutte insieme
    3 camere tipo C con 1 sola persona per camera
    3 camere tipo B con 1 sola persona per camera

    e fino a qui tutto ok, il muro che non riesco a scavalcare è ottenere anche le altre combinazioni mancanti, ovvero:

    1 camera tipo B con 2 persone per camera + 1 camera tipo C con 1 persona
    1 camera tipo C con 2 persone per camera + 1 camera tipo B con 1 persona

    La tabella nel db delle camere è così strutturata:

    id tipo capienzamax uso
    1 A 3 3
    2 A 3 2
    3 A 3 1
    4 B 2 2
    5 B 2 1
    6 C 2 2
    7 C 2 1

    Non riesco a buttar giu' una query che soddisfi i vari criteri... qualcuno può' darmi un'idea su come venire a capo del mio problema?

    Grazie a tutti per l'aiuto.
    Ultima modifica di edonista; 22-07-2015 a 02:50

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Non sono un fenomeno su SQL, ma penso che solo con UNA query non sia fattibile.

    Un'osservazione sulla struttura della tabella: tu hai 1 camera di ogni tipo, giusto? Non sono 3 camere di tipo A, 2 B e 2 C. In tal caso perché mettere 7 entry nel db? Ne bastano 3, invece della colonna "uso" metti "usomin" che riporta il numero minimo di occupanti ammesso, avendo min e max puoi farti i conti senza avere entry inutili nel db.
    Se inoltre permetterai sempre di accettare 1 occupante in ogni tipo di stanza, "uso" o "usomin" non ti servono proprio, il numero di persone ammesse sarà sempre da "capienzamax" a 1.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    105
    Ciao Alhazred, si in effetti la tabella che ho postato era una delle tante variabili esperimento che avevo fatto dove "uso" mi semplificava la vita evitando di fare calcoli in php, ma apparte questo... mi sa che hai ragione e devo fare 2 query!

    grzie!

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.