2016-02-09 2 views
-1

У меня есть две таблицы: tblPayroll и tblKPI.
tblPayroll - это список всех зарплат и tblKPI - это список учетных записей, которые пользователи ввели в базу данных.
Оба имеют столбец с именем Payroll.
Я хочу вызвать список учетных записей, которые не введены пользователем tblKPI.Значение поиска в другой таблице SQL

Я не знаю JOINS, поэтому я не знаю с чего начать.

+0

Пожалуйста, добавьте схему и запрос таблицы, которые вы используете. –

+0

Какой SQL-движок вы используете? Не могли бы вы дать нам информацию, если вы что-нибудь пробовали? – MadOX

+0

Вы можете посмотреть 'Joins' или использовать' Not In'/'Not Exists' в зависимости от вашего движка –

ответ

0

Ну, если вы собираетесь работать с SQL вы действительно должны знать хотя бы основы, и соединения являются основной частью языка.
Я покажу вам пример, который выбирает все записи из tblPayroll, которые не имеют соответствия Payroll в tblKPI, но вы знаете, что они говорят - дай человеку рыбу, и он будет есть в течение дня. Научи его ловить рыбу, и мы будем сидеть в бой пить пиво весь день ...

SELECT * 
FROM tblPayroll p 
WHERE NOT EXISTS 
(
    SELECT 1 
    FROM tblKPI k 
    WHERE k.Payroll = p.Payroll 
) 
+0

Спасибо за резолюцию Зоар. Я ценю ваше намерение мотивировать меня идти дальше, и я буду помнить об этом. Почему у нас есть переменные p и k? –

+0

Они а не переменные, но псевдонимы таблиц. Они позволяют ссылаться на таблицу, используя ее псевдоним, таким образом сокращая инструкцию sql и делая ее более читаемой. Кстати, если ответ решил вашу проблему, вы должны отметить ее как принятую, чтобы другие люди знали, что Проблема решена. –

0

Вам не нужно присоединяется для этого:

SELECT * 
    FROM Payrolls 
WHERE NOT EXISTS (SELECT 1 
        FROM tblKPI 
        WHERE tblKPI.Payroll = Payrolls.Payroll) 
0

Я хотел бы использовать LEFT JOIN и проверить NULL:

SELECT p.* FROM tblPayroll p 
LEFT JOIN tblKPI k ON p.Payroll = k.Payroll 
WHERE k.Payroll IS NULL 
0

Попробуйте этот запрос

SELECT * FROM tblPayroll ГДЕ НЕ СУЩЕСТВУЕТ ( SELECT * FROM tblKPI

)