标签: outer-join

使用Joined-Tables排除某些记录

我有一个SQL Server 2005 表(#1),列出了员工姓名,以及有关每个员工姓名的各种信息.

我有第二个表(#2),其中列出了我希望从结果中排除的一些员工.(员工姓名可以出现在两列中:A和B.)

我可以使用连接表来EXCLUDE吗?

列出以... 命名的所有员工Fred,table #1但不包括列出的某个员工table #2.如果Fred Smith列在table #2(在2个字段中的任何一个中),请不要在我的结果中列出他.(但列出所有其他Fred记录table #1)

SELECT * 
FROM table1 AS t1, table2 AS t2
WHERE ('Fred Smith' <> t2.employeeA) AND ('Fred Smith' <> t2.employeeB)
Run Code Online (Sandbox Code Playgroud)

(实际上,无论我是否使用联合表,我都无法使其工作.)

sql sql-server join sql-server-2005 outer-join

2
推荐指数
1
解决办法
8113
查看次数

我需要什么样的MySQL加入?

在表中具有匹配ID值的简单MySQL表:

table 1;
pid, firstname

table 2;
id, pid, property, value
Run Code Online (Sandbox Code Playgroud)

可以说表1中有一个人输入:

pid: 1
firstname: fred
Run Code Online (Sandbox Code Playgroud)

对于每个人,有多个表2条目:

pid: 1
property: likes cats?
value: no

pid: 1
property: eye colour
value: orange

pid: 1
property: favourite food
value: sox
Run Code Online (Sandbox Code Playgroud)

我想只选择两个表中的两个条目,比如说眼睛的颜色,并赞成给定人物ID的食物条目.什么样的外部联接可以实现这一目标?

SELECT `t1`.name
FROM `table1` AS t1
LEFT JOIN `table2` t2 ON `t1`.pid = `t2`.pid
WHERE `t1`.pid = 1
AND `t2`.property =  'eye colour'
Run Code Online (Sandbox Code Playgroud)

我被困在这里,如何从table2获得两行并包括赞成食物?(在任何人说出之前,我不能改变这个数据库的结构).

谢谢阅读.

mysql outer-join

2
推荐指数
1
解决办法
90
查看次数

完全外连接Postgre SQL中具有匹配索引的3个表

我有一个SQL查询

SELECT * FROM A FULL OUTER JOIN B ON A.z = B.z WHERE A.z = 1 OR B.z = 1
Run Code Online (Sandbox Code Playgroud)

其中Az和Bz是主键.

目的是在两个表上进行完全外连接,同时它们的主键匹配给定值 - 这样只返回一行.

但我对如何将它扩展到3个或更多表感到困惑.它们的主键与给定索引匹配的限制因此总共只返回一行仍然存在.你怎么做呢?

sql outer-join

2
推荐指数
1
解决办法
3119
查看次数

3个表上的Oracle外连接

如果我有两个表(A和B)在col'id'上加入,我想从A得到所有记录而不管B中的相应记录,我知道我可以这样做:

select * from A left outer join B on A.id = B.id;
Run Code Online (Sandbox Code Playgroud)

现在我有3个表A,B,C A连接到B,B连接到C.我想要A中的所有记录,不管B或C中是否有记录.所以我应该写 select * from A left outer join B on A.id = B.id and(....现在是什么我在这里写的)即使使用旧的语法,我卡住了:( select * from A,B,C where A.id = B.id(+) and B.id1 = C.id1(+)不知怎的,这似乎不对)

sql outer-join oracle11g

2
推荐指数
1
解决办法
1万
查看次数

猪的多个表的OUTER JOIN

我需要加入多个表格.我使用的命令如下:

G = JOIN aa BY f, bb by f, cc by f, dd by f;
Run Code Online (Sandbox Code Playgroud)

为了使它成为一个完整的外部联接,我添加了一个FULL来实现:

G = JOIN aa BY f FULL, bb by f, cc by f, dd by f;
Run Code Online (Sandbox Code Playgroud)

但它给了我一个mismatched input错误信息.我该怎么做才能做到这一点?

谢谢!

join outer-join apache-pig

2
推荐指数
1
解决办法
9862
查看次数

如何在R中执行大型数据集的完全外连接?

我正在尝试在R中对一组中等大小的数据集进行数据分析.我需要做的一项分析要求我在大约24-48个文件中进行完全外部连接,每个文件有大约60列和最多450,000行.所以我经常遇到内存问题.

我认为在ffbase或sqldf会有所帮助,但显然完全外连接是不可能的.

有解决方法吗?我还没找到包裹吗?

r outer-join bigdata sqldf ffbase

2
推荐指数
1
解决办法
6353
查看次数

Java:如何使用"this"访问外部类的实例变量?

我有一个静态内部类,我想在其中使用外部类的实例变量.目前,我必须以这种格式"Outerclass.this.instanceVariable"使用它,这看起来很奇怪,有没有更简单的方法来访问外部类的实例字段?

Public class Outer
{
  private int x;
  private int y;
 private static class Inner implements Comparator<Point>
{
  int xCoordinate = Outer.this.x;   // any easier way to access outer x ?
}
}
Run Code Online (Sandbox Code Playgroud)

java field class instance outer-join

2
推荐指数
1
解决办法
4194
查看次数

如何使用outer()来计算每个向量之间的中位数?

我希望标题不会太混乱......

基本上,我有两个向量,每个向量都是n长度.我想将这两个向量转换为*n矩阵(即包含2个数字的2个向量,每个向量变为2*2矩阵),其中矩阵中的每个位置是两个向量的每个位置的中值.

例如:

a<-as.vector(1,5)
b<-as.vector(1,5)
Run Code Online (Sandbox Code Playgroud)

使用outer()给我一个2*2矩阵

  1 5
1
5
Run Code Online (Sandbox Code Playgroud)

但是,如何使用每个唯一组合之间的中间值填充空矩阵?答案应该是这样的:

1 3
3 5
Run Code Online (Sandbox Code Playgroud)

r vector matrix outer-join median

2
推荐指数
1
解决办法
107
查看次数

外部产品的总和乘以MATLAB中的标量

我想在此后对产品的总和进行矢量化,以加快我的Matlab代码.可能吗?

for i=1:N
    A=A+hazard(i)*Z(i,:)'*Z(i,:);
end
Run Code Online (Sandbox Code Playgroud)

其中hazard是向量(N x 1)并且Z是矩阵(N xp).

谢谢!

performance matlab product vectorization outer-join

2
推荐指数
2
解决办法
69
查看次数

具有常量值的Oracle(+)运算符

考虑以下Oracle查询:

SELECT psn_id, nvl(psn_name_lang, psn_name_kurz) psn_name, cli_code, cli_id, cli_cmp_id, p2.pat_value cli_domain
FROM tabl_psn_obj, table_cli, table_pat p1, table_pat p2
WHERE psn_id = p1.pat_psn_id
  AND p1.pat_value = to_char(cli_cmp_id)
  AND p1.pat_att_id = 3
  AND p2.pat_att_id(+) = 48 <---- what does this mean
  AND p2.pat_psn_id = psn_id
  AND p2.pat_value = i_domain
  AND cli_cmp_id = i_cmp_id;
Run Code Online (Sandbox Code Playgroud)

我对他的(+)操作员感到困惑.据我所知,这(+)是一个快捷方式OUTER JOIN,取决于你把它放在哪一侧,它表示一个LEFTRIGHT OUTER JOIN.

但在上面的查询中,左外连接具有一些常量值,而不是任何其他表ID.这是什么意思?PostgreSQL中的类似之处是什么?

也许这个问题可以概括,但我不理解具有恒定值的含义.

sql oracle outer-join

2
推荐指数
1
解决办法
340
查看次数