Aiutoooooo problema JOIN

di il
5 risposte

Aiutoooooo problema JOIN

Ciao a tutti,
sto diventando matto, non riesco a capire dove sta il problema....... quando lancio una select che esegue la join tra due tabelle questa non mi restituisce nessun risultato, togliendo la join la query funziona correttamente.
Questa è la struttura delle due tabelle: [CODE]CREATE TABLE `cat_timbratura` ( `id` int(10) NOT NULL AUTO_INCREMENT, `area_attivita` varchar(100) DEFAULT NULL, `tipo_attivita` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 [CODE]CREATE TABLE `timbrature` ( `id` int(11) NOT NULL AUTO_INCREMENT, `utente` varchar(50) NOT NULL, `tipo_attivita` int(10) NOT NULL DEFAULT '1', `data_e` datetime NOT NULL, `ok_u` tinyint(5) DEFAULT NULL, `data_u` datetime DEFAULT NULL, `note` text, PRIMARY KEY (`id`), KEY `FK_timbrature` (`tipo_attivita`), CONSTRAINT `FK_timbrature` FOREIGN KEY (`tipo_attivita`) REFERENCES `cat_timbratura` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 Questa invece è la query che provo a lanciare: [CODE]SELECT s.tipo_attivita,SUM(TIMESTAMPDIFF(HOUR, data_e, data_u)) AS `Time` FROM `timbrature` s JOIN `cat_timbratura` q ON s.tipo_attivita=q.`tipo_attivita` WHERE DATE(data_e) > (NOW() - INTERVAL 7 DAY) AND data_u IS NOT NULL GROUP BY s.tipo_attivita Qualcuno riesce a capire l'errore?
Grazie mille in anticipo

5 Risposte

  • Re: Aiutoooooo problema JOIN

    iw8ffg ha scritto:


    Qualcuno riesce a capire l'errore?
    Innanzitutto, perché sulle due tabelle il campo tipo_attività è di tipo differente?
  • Re: Aiutoooooo problema JOIN

    Ciao,
    il campo timbrature.tipo_attivita viene valorizzato con cat_timbratura.id
    ho provato anche in questo modo senza successo
    SELECT s.tipo_attivita, SUM(TIMESTAMPDIFF(HOUR, data_e, data_u))FROM timbrature s
    JOIN 
    (SELECT cat_timbratura.id, cat_timbratura.tipo_attivita FROM cat_timbratura ) q ON s.tipo_attivita=q.tipo_attivita
    WHERE DATE(data_e) > (NOW() - INTERVAL 7 DAY) 
    AND data_u IS NOT NULL
    GROUP BY s.tipo_attivita
  • Re: Aiutoooooo problema JOIN

    Olèèèèè sono riuscito a capire l'errore..... la join puntava ad un campo errato
    SELECT q.tipo_attivita AS 'Attività',
    SUM(TIMESTAMPDIFF(HOUR, data_e, data_u)) AS 'Time'
    FROM timbrature s
    JOIN cat_timbratura q ON s.tipo_attivita=q.id
    WHERE DATE(data_e) > (NOW() - INTERVAL 7 DAY)
    AND data_u IS NOT NULL
    GROUP BY s.tipo_attivita
  • Re: Aiutoooooo problema JOIN

    Eh, beh, sì...
    https://forum.html.it/forum/showthread.php?threadid=2976596
  • Re: Aiutoooooo problema JOIN

    iw8ffg ha scritto:


    Olèèèèè sono riuscito a capire l'errore..... la join puntava ad un campo errato
    Spero tu abbia fortuna anche con le eventuali problematiche future che incontrerai, perché per quanto mi riguarda (per quel poco che conterà per te) personalmente smetterò di leggere i tuoi problemi, visto che fai crossposting come se non ci fosse un domani, quindi è impossibile seguire una discussione quando questa si sviluppa contestualmente altrove e se qui non vengono riportati gli aggiornamenti.

    Buona fortuna!
Devi accedere o registrarti per scrivere nel forum
5 risposte