2015-06-10 3 views
-1

Я создал две таблицы, имеющие следующие записи.Sqllite Query Повторяющаяся запись

CREATE TABLE ForgeRock 
    (`id` int,`sta` int, `productName` varchar(7), `description` varchar(55)); 

INSERT INTO ForgeRock 
    (`id`,`sta`, `productName`, `description`) 
VALUES 
    (1, 0,'OpenIDM', 'Platform for building enterprise provisioning solutions'), 

(2,0, 'OpenAM', 'Full-featured access management'), 
(3,0, 'OpenDJ', 'Robust LDAP server for Java'); 


CREATE TABLE ForgeRock1 
(`id` int,`sta` int, `productName` varchar(7), `description` varchar(55)); 

INSERT INTO ForgeRock1 
(`id`,`sta`, `productName`, `description`) 

ЗНАЧЕНИЕ

(1, 2,'hii', 'Platform for building enterprise provisioning solutions'), 
(2,0, 'OpenAM', 'Full-featured access management'), 
(3,0, 'OpenDJ', 'Robust LDAP server for Java'); 

Я хочу Союз обе таблицы, но хочу записи дубликата идентификатора, имеющий STA = 2

SELECT id,sta 
    FROM ForgeRock 
    GROUP BY id 
    UNION 
    SELECT id, sta 
    FROM ForgeRock1 
    GROUP BY id 

Результат:

id sta 1 0 2 0 3 0 1 2

Ожидаемый результат:

id sta 1 2 2 0 3 0

ответ

0

ли группировку после Союза, а также использовать MAX(), чтобы выбрать строку для вывода для каждой группы:

SELECT id, MAX(sta) AS sta 
FROM (SELECT id, sta 
     FROM ForgeRock 
     UNION 
     SELECT id, sta 
     FROM ForgeRock1) 
GROUP BY id 
ORDER BY id 
Смежные вопросы