Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138

    SQL SERVER, query con UNION e INTERSECT (credo)

    Salve a tutti, io dovrei tirare fuori da 2 tabelle una lista degli utenti connessi e quello che stanno facendo.

    Per ora il massimo che sono riuscito a fare è:

    codice:
    select utente,'' as r1,'' as da,''  as tipo
    from TABELLA1
    UNION
    select s.utente, f.ragsoc, datediff(second,s.data_inizio,getdate()) as da, s.tipo 
    from TABELLA2 s inner join TABELLA 3 f etcetc
    Il risultato è questo

    utente1 | | 0 | |
    utente2 | | 0 | |
    utente2 | chiamata con x | 80 | P |
    utente3 | | 0 | |
    utente4 | | 0 | |
    utente4 | chiamata con y | 100 | P |

    Il problema è che l'ipotetico utente 2 mi appare sia in stato "in chiamata" sia in stato "libero" perchè UNION mi va a prendere tutto indistintamente.

    C'è modo di correggere la querty?
    grazie in anticipo

    EDIT: dalla TABELLA1 aggiungo dei campi vuoti solo per poter fare la union, ho provato anche con NULL ma non cambia nulla
    Ultima modifica di frykky; 03-01-2014 a 13:43

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    Quote Originariamente inviata da frykky Visualizza il messaggio
    Salve a tutti, io dovrei tirare fuori da 2 tabelle una lista degli utenti connessi e quello che stanno facendo.

    Per ora il massimo che sono riuscito a fare è:

    codice:
    select utente,'' as r1,'' as da,''  as tipo
    from TABELLA1
    UNION
    select s.utente, f.ragsoc, datediff(second,s.data_inizio,getdate()) as da, s.tipo 
    from TABELLA2 s inner join TABELLA 3 f etcetc
    Il risultato è questo

    utente1 | | 0 | |
    utente2 | | 0 | |
    utente2 | chiamata con x | 80 | P |
    utente3 | | 0 | |
    utente4 | | 0 | |
    utente4 | chiamata con y | 100 | P |

    Il problema è che l'ipotetico utente 2 mi appare sia in stato "in chiamata" sia in stato "libero" perchè UNION mi va a prendere tutto indistintamente.

    C'è modo di correggere la querty?
    grazie in anticipo

    EDIT: dalla TABELLA1 aggiungo dei campi vuoti solo per poter fare la union, ho provato anche con NULL ma non cambia nulla
    Dicci la struttura delle tabelle e quindi quello che vuoi ottenere in maniera dettagliata

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    138
    sono un cretino scusate, bastava un banale left join.... potete chiudere

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.