Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [MySql]Union e Distinct...non è Distinct...

    Ciao a tutti!
    Ho un problema con una query MySql costruita in questo modo:
    codice:
    SELECT * FROM
    (
    
    	SELECT DISTINCT 1 AS RIFERIMENTO, id, username, DataOra
    	FROM
    	(
    	  SELECT id, username, DataOra
    	  FROM myTable1
    	)AS Q1
    	
    	  UNION
    	  
    	SELECT DISTINCT 2 AS RIFERIMENTO, id, username, DataOra
    	FROM
    	(
    	  SELECT id, username, DataOra
    	  FROM myTable2
    	)AS Q2
    	
    	  UNION
    	  
    	SELECT DISTINCT 3 AS RIFERIMENTO, id, username, DataOra
    	FROM
    	(
    	  SELECT id, username, DataOra
    	  FROM myTable3
    	)AS Q3
        
    )AS TUTTI
    quindi è l'unione di tre query di distinct i cui risultati sono presi da tre tabelle diverse....
    Io ho bisogno di sapere da quale delle tre query mi arriva il risultato attraverso il parametro "RIFERIMENTO" nel caso comparisse una sola volta e invece una sigla nel caso comparisse più volte, ma comunque visualizzare il record una volta sola... è possibile?

  2. #2
    Potresti provare con la GROUP BY, concatenando sul campo RIFERIMENTO.

    In questo modo, se hai un solo record per lo stesso <id, username, DataOra>, avrai il numero di riferimento; se invece ci sono più record, otterrai un unico record e nel campo riferimento avari le cifre concatenate: 12, 13, 23 o 123

    Potrebbe essere una cosa del genere:

    SELECT GROUP_CONCAT(DISTINCT RIFERIMENTO), id, username, DataOra FROM
    (

    SELECT DISTINCT 1 AS RIFERIMENTO, id, username, DataOra
    FROM
    (
    SELECT id, username, DataOra
    FROM myTable1
    )AS Q1

    UNION

    SELECT DISTINCT 2 AS RIFERIMENTO, id, username, DataOra
    FROM
    (
    SELECT id, username, DataOra
    FROM myTable2
    )AS Q2

    UNION

    SELECT DISTINCT 3 AS RIFERIMENTO, id, username, DataOra
    FROM
    (
    SELECT id, username, DataOra
    FROM myTable3
    )AS Q3

    )
    GROUP BY id, username, DataOra;

  3. #3
    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.