我有两个表,Table1和Table2.我想在Table2中选择Table1中未包含的不同行.这是一个例子:
- Table1
- | A | | sem|
- ------------------
- 1. | aa | | 1 |
- ---------------
- 2. | bb | | 1 |
- ----------------
- 3. | aa | | 2 |
- -----------------
- 4. | cc | | 2 |
- ---------------
- Table2
- | B |
- ------
- 1. | aa |
- ------
- 2. | aa |
- ------
- 3. | bb |
- ------
- 4. | cc |
- ------
- 5. | cc |
- ------
- 6. | ee |
- ------
- 7. | ee |
- ------
当sem = 1时,我希望那个在这两个表中不常见的行
喜欢
输出sem = 1
结果
| B |
> | cc |
> | ee |
解决方法
您可以使用外连接和where子句执行此操作.在这种情况下,我认为右外连接:
- SELECT cd.cGenotype
- FROM dbo.TestResults tr right outer join
- dbo.CombinedData cd
- ON (tr.TestResult = cd.cGenotype)
- where tr.testresult is null
- GROUP BY cd.cGenotype