Join 从另一个表中不存在条目的表中选择

Join 从另一个表中不存在条目的表中选择,join,crystal-reports,Join,Crystal Reports,我相信我的标题还有很多不尽如人意的地方,但让我试着解释一下这个问题 我有一张这样的表格: 我有一个如下的packages表: +----------+-----------+-----------+--------+--------+ | id |package_id | start_date|end_date| acc_id | +----------+-----------+-----------+--------+--------+ | 1 | 15

我相信我的标题还有很多不尽如人意的地方,但让我试着解释一下这个问题

我有一张这样的表格:

我有一个如下的packages表:

+----------+-----------+-----------+--------+--------+
|    id    |package_id | start_date|end_date| acc_id |
+----------+-----------+-----------+--------+--------+
|     1    |   15      |2014-01-01 |        |  1     |
+----------+-----------+-----------+--------+--------+
一个帐户可以有多个包,但它们不会有相同的包,即两个包id为15的活动包

我需要有效地选择所有没有包id为15或25的活动包的帐户。我使用以下选项来确定包是否处于活动状态:

({packages.start_date} >= CurrentDate and ({packages.end_date} <= CurrentDate or {packages.end_date} = DATE(0000,00,00) or ISNULL({packages.end_date})))
我已经看到我可以说在公式中有第二个select,为select指定一个名称,然后使用这个值进行比较。比如说

(select * from packages where ({packages.start_date} >= CurrentDate and ({packages.end_date} <= CurrentDate or {packages.end_date} = DATE(0000,00,00) or ISNULL({packages.end_date}))) AND acc_id = accounts.id AND package_id IN(15,25)) AS has_package
我可以说:

has_package <= 0

任何帮助都将不胜感激。

在记录选择公式中写下以下代码:

Not(package_id IN(15,25)))

你想把这个放在哪里?我想你想在sql server端,为什么要在报表端?还有什么地方卡住了或卡住了eror@Ajay2707我需要为不是编码员的其他人创建此报告端。我只是在试图解决这个问题的时候被卡住了,我在尝试不同的代码时出现了错误。你想只选择那些包id 15或25不正确的代码吗?假设他们说一个id为10的包和一个id为15的包,结果仍然会显示,就好像我们在过滤15和25一样,从技术上讲,仍然存在一个记录?总是存在一个记录,我们唯一要做的就是不在报告中选取记录。
Not(package_id IN(15,25)))