Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    query con LIKE fra campi

    Situazione: due tabelle utenti e dipendenti, entrambe contengono un campo matricola e un campo gruppo (gerarchico); gli utenti (amministratori dei dipendenti) possono gestire i dipendenti del gruppo proprio o superiore... in senso gerarchico ovvero... alfabetico di lunghezza del campo come meglio spiegato in seguito.

    Un esempio:
    codice:
    Utenti ------------
    nome      matricola gruppo
    pippo     00001     0101
    pluto     00002     0102
    paperino  00003     030702
    
    Dipendenti ---------
    matricola gruppo
    00010     0101
    00011     0101
    00012     010109
    00013     0102
    00014     0307
    00015     030701
    00016     030702
    00017     030703
    
    Risultato -----------------
    utente    gruppo  matricola
    pippo     0101    00010
    pippo     0101    00011
    pippo     010109  00013
    pluto     0102    00013
    paperino  030702  00016
    In pratica vorrei ottenere una lista, ordinata per utente, di tutti i dipendenti con il rispettivo utente amministratore, come nell'esempio qui sopra.

    I dipendenti 00014, 00015, 00016 non sono estratti perche' nessun utente ha autorita' gerarchica nei loro confronti.

    Preciso la gerarchia del gruppo e' da leggere a coppie di cifre esprimenti area, servizio, ufficio(ove presente), in pratica il dipendente viene incluso se il suo gruppo e' uguale a quello dell'utente o contiene il gruppo dell'utente... ovvero appartiene ad un ufficio subordinato ma dello stesso servizio

    Domanda: e' possibile creare una query che soddisfi i requisiti?

    Grazie in anticipo

    ps: posto qui perche' uso asp ed il db potrebbe anche essere un semplice access... se potesse servire allo scopo utilizzare particolari funzioni di vba

    pps: il titolo e' solo un suggerimento
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  2. #2
    bruno, non ti basta la join sul gruppo?

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da optime
    bruno, non ti basta la join sul gruppo?
    E' la LIKE che mi frega... oppure mi sfugge qualcosa del tuo suggerimento
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4

    Re: query con LIKE fra campi

    Originariamente inviato da br1
    Situazione: due tabelle utenti e dipendenti, entrambe contengono un campo matricola e un campo gruppo (gerarchico); gli utenti (amministratori dei dipendenti) possono gestire i dipendenti del gruppo proprio o superiore... in senso gerarchico ovvero... alfabetico di lunghezza del campo come meglio spiegato in seguito.

    Un esempio:
    codice:
    Utenti ------------
    nome      matricola gruppo
    pippo     00001     0101
    pluto     00002     0102
    paperino  00003     030702
    
    Dipendenti ---------
    matricola gruppo
    00010     0101
    00011     0101
    00012     010109
    00013     0102
    00014     0307
    00015     030701
    00016     030702
    00017     030703
    
    Risultato -----------------
    utente    gruppo  matricola
    pippo     0101    00010
    pippo     0101    00011
    pippo     010109  00013
    pluto     0102    00013
    paperino  030702  00016
    In pratica vorrei ottenere una lista, ordinata per utente, di tutti i dipendenti con il rispettivo utente amministratore, come nell'esempio qui sopra.

    I dipendenti 00014, 00015, 00016 non sono estratti perche' nessun utente ha autorita' gerarchica nei loro confronti.

    Preciso la gerarchia del gruppo e' da leggere a coppie di cifre esprimenti area, servizio, ufficio(ove presente), in pratica il dipendente viene incluso se il suo gruppo e' uguale a quello dell'utente o contiene il gruppo dell'utente... ovvero appartiene ad un ufficio subordinato ma dello stesso servizio

    Domanda: e' possibile creare una query che soddisfi i requisiti?

    Grazie in anticipo

    ps: posto qui perche' uso asp ed il db potrebbe anche essere un semplice access... se potesse servire allo scopo utilizzare particolari funzioni di vba

    pps: il titolo e' solo un suggerimento
    Ciao br1,
    non sono sicuro di aver ben interpretato la faccenda del gruppo,
    comunque tentar non nuoce.

    per access come dbms

    codice:
    SELECT u.*, d.*
    FROM Utenti AS u INNER JOIN Dipendenti AS d 
    ON u.gruppo=left(d.gruppo,len(u.gruppo));
    EDIT
    ...purtroppo come prestazioni non mi aspetto che sia molto brillante

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Grazie, una sintassi simile l'avevo provata ma evidentemente commettendo chissa' quale errore...

    Qualche attimo fa e dopo una giornata di test...ate ho trovato questa:
    SELECT dipendenti.*, utenti.*
    FROM dipendenti,utenti
    WHERE dipendenti.gruppo LIKE utenti.gruppo&'*'

    Domani al lavoro testero' sul campo le due sintassi e adottero' la piu performante.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.