Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    [MySql] Problema struttura query

    Buon giorno.
    Ho due record nella stessa tabella.
    Hanno questi valori:

    id - tipo - descrizione - dal - al
    1 - Nuovo - titolare - 01/09/2015 - NULL
    2 - revoca - titolare - NULL - 11/09/2015

    Devo fare in modo di visualizzare tutti i dati del record di tipo NUOVO, visualizzando all'interno dello stesso record anche la data AL del record di tipo REVOCA.

    Potete aiutarmi per favore?
    Grazie mille.

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Immaginiamo che nella stessa tabella hai 120 record NUOVO e 87 record REVOCA

    vuoi come risultato 120 oppure 87 record
    oppure un NUOVO puo avere anche 100 REVOCA ???

    come accoppiamo uno specifico NUOVO con il suo corrispettivo REVOCA

    .

  3. #3
    devi capire come abbinare la REVOCA al suo NUOVO

  4. #4
    uon giorno. Si scusami.
    La TB è questa:
    id_tb - id_titolare - tipo - descrizione - data dal - data al
    1 - 1 - nuovo - titolare - 01/09/2015 - NULL
    2 - 1 - revoca- titolare - NULL - 11/09/2015


    Potremmo abbinarli attraverso: l'di_titolare e la descrizione.
    Che ne pensi?
    Grazie mille.

  5. #5
    ogni titolare ha una sola pratica?

  6. #6
    si.
    Nel senso, ogni titolare può avere una pratica diversa. mi spiego.
    Nella descrizione troviamo anche una o più situazioni come la precedente


    id_tb - id_titolare - tipo - descrizione - data dal - data al
    23 - 1 - nuovo - datore - 10/08/2015 - NULL
    45 - 1 - revoca- datore - NULL - 11/08/2015

    Credo che dovremmo considerare anche il campo TIPO, perché la "data al" da visualizzare, nel record riferito alla "data da" è quella che si riferisce al TIPO "revoca"

    Dovrei ottenere un solo record come questo:


    id_tb - id_titolare - tipo - descrizione - data dal - data al
    23 - 1 - nuovo - datore - 10/08/2015 - 11/08/2015

  7. #7
    antagonia, le cose ce le dici a rate? ogni post spunta un campo in più ti serve solo un campo: nella revoca devi indicare a quale id_tb si riferisce; ogni altra soluzione è imperfetta

  8. #8
    ok ho aggiunto il campo id_revoca:

    id_tb - id_revoca - id_titolare - tipo - descrizione - data dal - data al
    23 - NULL - 1 - nuovo - datore - 10/08/2015 - NULL
    45 - 23 - 1 - revoca - datore - NULL - 11/08/2015


    vorrei ottenere questo risultato particolare e farmi restituire comunque tutti gli altri record come se facessi una select *
    id_tb - id_titolare - tipo - descrizione - data dal - data al
    23 - 1 - nuovo - datore - 10/08/2015 - 11/08/2015
    24 - 1 - vecchio - principale - 03/01/2015 - 00/00/0000
    25 - 1 - vecchio - dipendente - 24/03/2015 - 00/00/0000

  9. #9
    prova con

    SELECT
    MIN(T1.[id_tb]) AS ID_TB,
    MAX(T1.[id_titolare]) AS ID_TITOLARE,
    MIN(T1.[tipo]) AS TIPO,
    MAX(T1.[descrizione]) AS DESCRIZIONE,
    MAX(T1.[dal]) AS DAL,
    MAX(T2.[al]) AS AL
    FROM
    tabella T1
    INNER JOINtabella T2 ON T1.id_tb=T2.id_tb
    GROUP BY
    T1.id_REVOCA

  10. #10
    Buon giorno, in questo modo ottengo un solo record con la "data AL" come dicevo nei post precedenti.
    SELECT
    A.NOME,
    A.DESCRIZIONE,
    A.ALTRO,
    A.INCARICO,
    A.NUMERO,
    A.DATAINS,
    A.STRUTTURA,
    A.DAL,
    B.AL
    FROM TB_ESTRAZIONE_DATI AS A
    JOIN TB_ESTRAZIONE_DATI AS B
    ON A.id = B.id_revoca
    where A.id_titolare = 1
    GROUP BY
    B.id_revoca

    Soltanto che devo ottenere anche tutti gli altri record che mancano senza la relazione.
    Grazie mille.

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.