在另一个SQL表

时间:2016-02-09 05:36:17

标签: sql sql-server

我有两张桌子:tblPayrolltblKPI tblPayroll是所有工资单的列表,tblKPI是用户输入数据库的工资单列表。
两者都有一个名为Payroll的列 我想想一个用户未在tblKPI中输入的工资单列表。

我不知道JOINS这就是我不知道从哪里开始的原因。

4 个答案:

答案 0 :(得分:0)

你不需要加入:

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

答案 1 :(得分:0)

好吧,如果你打算使用SQL,你至少应该学习基础知识,而连接是语言的基本部分。
我将向您展示一个示例,该示例选择tblPayrollPayroll中没有匹配tblKPI的所有记录,但您知道他们说了什么 - 给一个人一条鱼,他会吃一天。教他如何钓鱼,我们将整天坐在一起喝啤酒......

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

答案 2 :(得分:0)

我会使用LEFT JOIN并检查NULL

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

答案 3 :(得分:0)

尝试此查询

SELECT * 来自tblPayroll 什么不存在 (     选择 *     来自tblKPI