标签: join

如何在python中加入两个列表?

我想在一个列表中有两个列表:

x = [1,2]
y = [3,4]
Run Code Online (Sandbox Code Playgroud)

我需要它们像:

z = [[1,2][3,4]]
Run Code Online (Sandbox Code Playgroud)

但我不知道该怎么做.非常感谢您的考虑和帮助.

python join list append

0
推荐指数
1
解决办法
801
查看次数

2列出字典问题

我有两个清单:

list1 = ['r', '8', 'w', 'm', 'f', 'c', 'd',...]
list2 = ['AA', 'AB', 'AC', 'AD', 'AE', 'AF',...]
Run Code Online (Sandbox Code Playgroud)

我希望将它们都放入字典中,以便:

{'r':'AA', '8':'AB', 'w':'AC', 'm':'AD',...}
Run Code Online (Sandbox Code Playgroud)

我尝试过使用:

dictionary = dict(zip(list1, list2))
Run Code Online (Sandbox Code Playgroud)

但是,我相信这个函数会做一些奇怪的排序,因为如果我打印"dictionary",我会得到以下输出:

{'1': 'BE', '0': 'EB', '3': 'CE', '2': 'FE', '5': 'DB',...}
Run Code Online (Sandbox Code Playgroud)

为什么会这样,以及如何产生所需的输出?

python dictionary join list

0
推荐指数
1
解决办法
47
查看次数

根据条件选择连接表

我有3张桌子

  1. 表A
  2. 表B
  3. 表C

我需要根据传递的参数将TableA连接到TableB或TableC.即

select * from 
TableA A 
join (TableB on <Joining Condition> /  TableC on <joining condition> )
Run Code Online (Sandbox Code Playgroud)

我试过以下查询

select * from 
TableA A 
join (
   case when paramB<>'' then TableB on <Joining Condition>
   case when paramC<>'' then TableC on <joining condition>
 )
Run Code Online (Sandbox Code Playgroud)

但是,这会给出语法错误.任何人都可以帮忙吗?

解:

create table #temp (<columns>)
if paramB<>''
begin
   select * from 
   TableA A 
   join TableB on <Joining Condition>
end
else if paramB<>''
begin
  select * from 
   TableA A 
   join TableC on <Joining Condition> …
Run Code Online (Sandbox Code Playgroud)

sql-server join

0
推荐指数
1
解决办法
44
查看次数

使用多列作为密钥存储在Apache Spark中的数组中,连接两个Dataframe

如何使用多列作为键来计算两个Dataframe的连接?例如DF1,DF2是两个dataFrame.

这是我们计算连接的方式,

JoinDF = DF1.join(DF2, DF1("column1") === DF2("column11") && DF1("column2") === DF2("column22"), "outer") 
Run Code Online (Sandbox Code Playgroud)

但我的问题是如果它们存储在如下数组中,如何访问多列:

DF1KeyArray=Array{column1,column2}
DF2KeyArray=Array{column11,column22}
Run Code Online (Sandbox Code Playgroud)

那么用这种方法计算连接是不可能的

JoinDF = DF1.join(DF2, DF1(DF1KeyArray)=== DF2(DF2KeyArray), "outer")
Run Code Online (Sandbox Code Playgroud)

在这种情况下错误是:

<console>:128: error: type mismatch;
found   : Array[String]
required: String
Run Code Online (Sandbox Code Playgroud)

有没有办法访问多个列作为存储在数组中的键来计算连接?

scala join dataframe apache-spark apache-spark-sql

0
推荐指数
1
解决办法
5684
查看次数

SQL JOIN上的WHERE子句

我有以下查询来返回客户使用的作业(访问)的数量以及他/她使用的不同的兽医.

SELECT 
customer.users_id AS CustID, 
COUNT(VisitID) AS Jobs, 
COUNT(DISTINCT VetID) AS Resources 
FROM customer 
LEFT JOIN visit ON customer.users_id = visit.CustID 
GROUP BY customer.users_id
Run Code Online (Sandbox Code Playgroud)

当我添加一个WHERE子句来计算只有未重新计划或已取消的访问时,我的查询看起来像这样.

SELECT 
customer.users_id AS CustID, 
COUNT(VisitID) AS Jobs, 
COUNT(DISTINCT VetID) AS Resources 
FROM customer LEFT JOIN visit ON customer.users_id = visit.CustID 
WHERE visit.Status != 'Cancelled' AND visit.Status != 'ReScheduled' 
GROUP BY customer.users_id
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,我只会得到没有取消或重新安排访问的客户,虽然我正在为客户使用左连接.

我如何适应WHERE子句呢?

mysql sql join

0
推荐指数
1
解决办法
79
查看次数

中间如何使用连接功能打印语句?

我想打印这样的声明

print "$string -> $string1 ( join (",", @array) )\n";
Run Code Online (Sandbox Code Playgroud)

但是我发现我无法打印join函数的结果,但是join像普通单词一样打印。例如我的$ string = a,$ string1 = b和@array = cde给我如下结果

a -> b (join (",",@array) )
Run Code Online (Sandbox Code Playgroud)

我想要的实际结果是这样的。

a -> b (c,d,e)
Run Code Online (Sandbox Code Playgroud)

任何解决方案我都能得到我想要的结果吗?

perl join

0
推荐指数
1
解决办法
264
查看次数

如何在不使用PHP循环的情况下返回MySQL数组结果

我正在尝试将此查询与另一个查询相关联,但这将需要立即执行所有操作而不留下此语句.

MYSQL

"SELECT pid FROM posts WHERE uid = ? && state = 'a' ORDER BY time DESC LIMIT 5"
Run Code Online (Sandbox Code Playgroud)

使用PHP的同时.

while($row = $get->fetch()){
    echo $row['pid'].' ,';
}
Run Code Online (Sandbox Code Playgroud)

我得到的东西是:2,5,8,31,40

有没有办法在不退出查询的情况下获得相同的值?

类似SELECT的返回值

所以我能做到:$row['returned_values'];得到:"2,5,8,31,40"

php mysql loops join

0
推荐指数
1
解决办法
1338
查看次数

你能做一个有多个INNER JOIN条件的SQL INNER JOIN语句吗?

我有一个SQL查询,我需要在其中有多个条件,其中一个表中的记录连接在结果中.

具体来说,如果它的外键值与另一个表中的条目的id相同,我需要包含一个记录 - 如果外键值为NULL,则还需要.

所以,这就是我现在所拥有的......

SELECT
table1.value1,
table1.value2,
table2.value1

FROM
dbo.table1 table1
INNER JOIN dbo.table2 table2
ON table1.table2_id = table2.id
WHERE table1.value1 = 'blah'
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.但是,我还需要返回table1中的所有值,其中table1.table2_id为NULL.

到目前为止我已经尝试过了......

SELECT
table1.value1,
table1.value2,
table2.value1

FROM
dbo.table1 table1
INNER JOIN dbo.table2 table2
ON table1.table2_id = table2.id OR table1.table2_id is NULL
WHERE table1.value1 = 'blah'
Run Code Online (Sandbox Code Playgroud)

它只是将查询发送到无限循环.

有什么建议?

提前致谢.

sql sql-server join

0
推荐指数
1
解决办法
109
查看次数

如何在Matlab中将N个向量连接到矩阵中?

我试着查看,但不知道该找什么...

我需要"表连接"N个向量,意思是,创建一个矩阵,其中每个输入向量都有一行,每个可能的条目都有一列.

还有一个翻译向量可以轻松访问哪个列负责哪个条目

例如

a = [3, 2, 4, 9]
b = [3, 1, 5, 9]
c = [2, 4, 9, 6]
Run Code Online (Sandbox Code Playgroud)

然后

join(a, b, c) =
[
3;    2;   nan; 4;   nan; 9; nan,
3;    nan; 1;   nan; 5;   9; nan,
nan;  2;   nan; 4;   nan; 9; 6,
]
Run Code Online (Sandbox Code Playgroud)

用翻译矢量

[3,2,1,4,5,9,6]
Run Code Online (Sandbox Code Playgroud)

所以如果我找到关于第i列的内容,我可以很容易地知道该列代表什么.

我更喜欢连接操作能够接收n个向量(它们可以具有相同的长度),但是2也可以.

此外,第二眼,这些数据表示在某些方面似乎有点多余.也许有一种更好的方式来表示"连接矩阵"

谢谢

matlab join vector

0
推荐指数
1
解决办法
46
查看次数

在Visual Studio中使用3个表进行内部联接

我试图在Visual Studio中使用3个表进行内部联接,但是我收到错误.当我只使用2个表进行内连接时,它可以工作.

这是我的3个表的代码:

"select b.bidID, b.userID, u.userFirstName, u.userLastName, c.clientName, b.productName, b.openingDate, b.status
from Bid b
inner join Client c on b.clientID = c.clientID
inner join User u on b.userID = u.userID
where b.clientID = '" + cId + "' ";
Run Code Online (Sandbox Code Playgroud)

有2个表:

"select b.bidID, b.userID, c.clientName, b.productName, b.openingDate, b.status
from Bid b
inner join Client c on b.clientID = c.clientID
where b.clientID = '" + cId + "' ";
Run Code Online (Sandbox Code Playgroud)

c# sql join visual-studio-2013

0
推荐指数
1
解决办法
2827
查看次数