2016-02-20 45 views
0

我有以下查询:MySQL的 - 选择在集团主要项目通过

SELECT * FROM (
    SELECT codigo, protocolo, status, nome 
    FROM protocolo 
    GROUP BY protocolo.protocolo 

    UNION ALL 

    SELECT codigo, protocolo, status, nome 
    FROM simulador 
) tabela 

回报

codigo protocolo status nome 
559  2016000026 1  ALESSANDRO CAMPOS BONIFACIO 
0  2016000026 0  ALESSANDRO CAMPOS BONIFACIO 
0  2016000008 0  MARIA DE JESUS F. DA SILVA *** 
0  2016000007 0  MARGARIDA BORGES DA SILVA 
558  2016000008 1  MARIA DE JESUS F. DA SILVA *** 
556  2015014035 1  MARIA DALVA DA SILVA 

有两个相同的protocolo(2016000008)不同状态(0,1)。我想显示只有一个的重复protocolo,有一个状态= 1

+0

你的问题是不明确的。请编辑并提供样本数据和期望的结果。 –

回答

0

这是你想要的?

SELECT odigo, protocolo, MAX(status) as stat, nome 
FROM (
    SELECT codigo, protocolo, status, nome 
    FROM protocolo 
    GROUP BY protocolo.protocolo 

    UNION ALL 

    SELECT codigo, protocolo, status, nome 
    FROM simulador 
) tabela 
GROUP BY codigo, protocolo, nome ; 

注:在GROUP BY查询,请在SELECT所有列应该是在GROUP BY或聚集功能,除非你真的知道你在做什么。