+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 4 su 4

Discussione: visualizzazione condizionale riga in base a intersezione di colonne

  1. #1
    aalesssio non è in linea Novello
    Post
    25

    visualizzazione condizionale riga in base a intersezione di colonne

    Ciao a tutti
    ho la seguente tabella tab1:

    Materiale|tipoA1|tipoA2|tipoB1| tipoB2|
    mat1___|__2___|_____|_____|______|
    mat2___|______|_____|_____|__2___|
    mat3___|______|__2__|_____|______|
    mat4___|______|_____|__2__|______|
    mat5___|__2___|_____|_____|______|

    Abbiamo due famiglie di colonne (tipoAx e tipoBx).
    Voglio visualizzare soltanto le righe in cui trovo il valore 2 in funzione del tipoX (A o B) che sceglierò in base a quanto riportato in un'altra tabella (tab2.tipo che può dare i valori A o B).
    Per cui se ho un tipo A voglio che mi trovi le righe in cui mat =2 in tipoA1 o tipoA2 (mat1, mat3 e mat5). Se è tipo B deve restituirmi la riga mat2 e mat4.

    tutto chiaro? la mia idea è di scrivere un iif(iif....) ma forse non è possibile annidare due iif.

  2. #2
    Sgrubak non è in linea Scolaretto
    Luogo
    Torrazza Piemonte
    Post
    178
    Credo sia un errore di struttura della tabella... Per come hai descritto tab1, come fai a strutturare la query per quel che ti serve?
    Azzardo una struttura alternativa:
    - Materiale
    - Tipo (A o B)
    - Sottotipo (1 o 2)

    La tua tabella tradotta diverrebbe:
    Materiale|Tipo |Sottotipo|
    mat1___|__A__|___1___|
    mat2___|__B__|___2___|
    mat3___|__A__|___2___|
    mat4___|__B__|___1___|
    mat5___|__A__|___1___|

    Così fitreresti con:
    codice:
    WHERE Tipo = 'A' And Sottotipo = 1
    o condizioni similari... Per strutturare meglio il tutto però farebbe comodo sapere anche tab2 com'è fatta e cosa contiene, visto che devi filtrare in base a quest'ultima tabella.

    Altrimenti dai uno sguardo alla funzione ISNULL().

  3. #3
    aalesssio non è in linea Novello
    Post
    25
    Grazie Sgrubak! Alla fine ho trovato il modo di "ristrutturare" lo schema di collegamenti tra tabelle e quindi il codice è venuto da se'.
    Alla prossima!!

  4. #4
    Sgrubak non è in linea Scolaretto
    Luogo
    Torrazza Piemonte
    Post
    178
    Bene! Se riesci posta la nuova struttura, per mia mera curiosità e per i posteri che passeranno da qui.

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi