T-SQL: Сравнение Двух Таблиц - Записи, которые не существуют во второй таблице

Богатые уведомления означают уведомления с полезной нагрузкой или вы можете сказать медиа-вложение в уведомлениях.

Удаленные уведомления означают APN (Apple Push Notification), которые отправляют уведомление с одного сервера на несколько устройств одновременно с медиа-вложением или без медиа-подключения [ 1113].

Но если мы говорим о Rich Notifications , это означает A уведомления с вложением медиа, или вы можете сказать полезные данные.

Оба уведомления имеют несколько общих определенных шагов.

1) Участие в программе Apple для разработчиков.

2) Конфигурация идентификатора пакета с Push-сертификатом.

3) Включить Push-уведомления в разделе «Возможности XCode».

4) Локальный сервер (ваш сервер или вы можете использовать firebase / pusher для тестирования), который отвечает за отправку уведомлений.

10
задан Pure.Krome 9 November 2011 в 05:47
поделиться

6 ответов

Вместо того, чтобы использовать ОБЪЕДИНЕНИЕ, используйте КРОМЕ, (или ПЕРЕСЕКИТЕСЬ для получения только записей в обоих), как описано в

MSDN КРОМЕ Ссылки для Sql2k8

MSDN КРОМЕ Ссылки для Sql2k5

11
ответ дан 3 December 2019 в 13:56
поделиться

Можно использовать оператор EXCEPT для вычитания набора того от другого. Вот образец кода с помощью СОТРУДНИКОВ и ЛЮДЕЙ временные таблицы. Необходимо будет использовать имена полей с оператором EXCEPT насколько я знаю.

CREATE TABLE #PEOPLE
(ID INTEGER,
 Name NVARCHAR(50))

CREATE TABLE #EMPLOYEE
(ID INTEGER,
 Name NVARCHAR(50))
GO

INSERT #PEOPLE VALUES (1, 'Bob')
INSERT #PEOPLE VALUES (2, 'Steve')
INSERT #PEOPLE VALUES (3, 'Jim')
INSERT #EMPLOYEE VALUES (1, 'Bob')
GO

SELECT ID, Name
FROM #PEOPLE
EXCEPT 
SELECT ID, Name
FROM #EMPLOYEE
GO

Заключительный запрос возвратит эти две строки в таблице PEOPLE, которые не существуют в СПИСКЕ СОТРУДНИКОВ.

12
ответ дан 3 December 2019 в 13:56
поделиться
SELECT
     P.*
FROM
     People P
LEFT OUTER JOIN Employees E ON
     E.ID = P.ID     -- Or whatever your PK-FK relationship is
WHERE
     E.ID IS NULL

Для SQL Server это, вероятно, будет самым производительным способом, которым можно сделать это.

11
ответ дан 3 December 2019 в 13:56
поделиться
SELECT * FROM Table1
WHERE Table1.Key NOT IN (SELECT Table2.Key FROM Table2 WHERE Table2.Key IS NOT NULL)

Добавленная IS NOT NULL для создания людей счастливыми.

Я согласился бы с Tom. Его версия, скорее всего, более эффективна. Единственная возможная причина для использования моего, мог бы быть то, что это более симпатично.

3
ответ дан 3 December 2019 в 13:56
поделиться

К сожалению, в Вашем дизайне существует проблема. вместо того, чтобы иметь две таблицы PEOPLE и CONTRACTOR. У Вас должны быть таблица PEOPLE и другой ТИП Таблицы (если у некоторых людей может быть несколько ролей другая таблица, возможно, необходимая). В Вашей таблице PEOPLE Вы делаете referece к таблице TYPE.

затем Вы запрашиваете, становятся

SELECT * from PEOPLE, TYPE
WHERE PEOPLE.type_id = TYPE.id 
AND TYPE.name = 'CONTRACTOR'

SELECT * from PEOPLE, TYPE
WHERE PEOPLE.type_id = TYPE.id 
AND TYPE.name = 'EMPLOYEE'

(непротестированный)

1
ответ дан 3 December 2019 в 13:56
поделиться

Я обнаружил, что намного проще использовать такой инструмент, как SQLMerger, чтобы сделать это за вас. Результаты отображаются в более удобном виде, и после этого вы можете легко продолжить все, что вам нужно делать с данными.

www.auisoft.com/SQLMerger <= инструмент, упрощающий сравнение данных

пример по сравнению двух таблиц: http: // auisoft. com / SQLMerger / How-to / visualize-sizes-in-2-databases /

0
ответ дан 3 December 2019 в 13:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: