Visualizzazione dei risultati da 1 a 10 su 12

Discussione: JOIN

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2019
    Messaggi
    23
    Ciao,
    il campo timbrature.tipo_attivita viene valorizzato con cat_timbratura.id

    ho provato anche in questo modo senza successo
    codice:
    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
    sto diventando matto........

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Quote Originariamente inviata da iw8ffg Visualizza il messaggio
    Ciao,
    il campo timbrature.tipo_attivita viene valorizzato con cat_timbratura.id

    ho provato anche in questo modo senza successo
    codice:
    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
    sto diventando matto........
    Scusa ma le due tabelle hanno un campo tipo_attivita che è definito in due modi completamente diversi, uno è un varchar e l'altro è un int.

    Forse dovresti confrontare il tipo_attività della tabella timbrature con il campo id della tabella cat_timbrature.
    Diversamente non vedo come faccia a funzionare la join.

    In alternativa, se, dovesse essere che il contenuto dei due campi tipo_attivita (a parte il tipo differente di dato) è lo stesso, prova a fare un cast su uno dei due campi, in modo da confrontare int con int o varchar con varchar

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2019
    Messaggi
    23
    Eurekaaaaaa, ho capito l'errore..... la join non puntava all'ID ma al campo testuale

    codice:
    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

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 © 2026 vBulletin Solutions, Inc. All rights reserved.