小编gee*_*000的帖子

在 SQL 查询中多次使用同一变量。Python 代码?

我是Python新手。我有以下代码,我需要多次调用同一个变量。我怎样才能做到这一点?

import psycopg2 as pg

conn = pg.connect("dbname='db' user='user' host='localhost'")    

q1 = """SELECT value FROM t1;"""
cur1 = conn.cursor()
cur1.execute(q1)

cur2 = conn.cursor()

for row in cur1:
     q2 = """SELECT * FROM t2 WHERE c1 = '%s' or c2 ='%s';""" 
     #what comes here? %s is the 'value' from q1  
     cur2.execute(q2)
     for row in cur2: 
        print(row)
Run Code Online (Sandbox Code Playgroud)

我如何告诉 python 对所有出现的“%s”使用“值”?当 %s 仅出现一次时,%(row) 有效:

q2 = """SELECT * FROM t2 WHERE c1 = '%s' or c2 ='%s';"""(%row)
Run Code Online (Sandbox Code Playgroud)

我搜索了 stackoverflow 但找不到我的答案。我希望这不是一个重复的问题。谢谢。

python sql variables

7
推荐指数
1
解决办法
3202
查看次数

在 Potgresql 中取消透视

如何在不使用 UNION 的情况下在 Postgresql 中取消透视?我有 100 多列,我正在寻找一种巧妙的方法来做到这一点。

给定表:

id    c1      c2      c3
1      X       Y       Z
2      A       B       C
3      Y       C       Z
Run Code Online (Sandbox Code Playgroud)

所需表:

id   col
1     X
1     Y
1     Z
2     A
2     B
2     C
3     Y
3     C
3     Z
Run Code Online (Sandbox Code Playgroud)

sql postgresql unpivot

5
推荐指数
1
解决办法
866
查看次数

使用sql检测周期

我想检测层次结构中的潜在循环。我有三张表,每张表都有一个父列和一个子列:

Table1的父母是Table2的孩子,Table2的父母是Table3的孩子

表1包含一些节点(在子列中)及其父节点(在父列中);Table2 包含 Table1 的所有父级(在 child 列中)及其父级(在 parent 列中),依此类推。

例如,如果 A 是 B 的孩子,B 是 C 的孩子,C 是 A 的孩子,那么我有一个循环。

是否可以使用 sql 命令检测周期?

sql postgresql hierarchical-data

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

如何在pyspark中加入多个RDD而不转换为DF

我有三个 RDD (x,y,z),我想加入。所有三个 RDD 的第一个元素是将用于连接的键。

我知道如何加入两个:

rdd1 = x.map(lambda r: (r[0], r[1:]))
rdd2 = y.map(lambda r: (r[0], r[1:]))
rdd1_rdd2 = rdd1.join(rdd2)
Run Code Online (Sandbox Code Playgroud)

如何将第三个 RDD z 加入到 rdd1_rdd2 中?

join rdd pyspark

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

Excel:获取第一次出现值的单元格地址并在公式中使用它

我有下表:

     A    B    C
 1   1    4    =(Formula) 
 2   1    
 3   3
 4   4
 5   4
Run Code Online (Sandbox Code Playgroud)

我需要从A列(即A4)获取B1中第一次出现的值(本例中为4)的地址,并在公式中使用该地址(位于C1中).公式基本上应该做到以下几点:

  1. 如果B1不为空,则在范围A1:A10000(在本例中为A4)中获取B1中的第一个值(在此示例中为4)
  2. 在公式中使用此地址(A4),以产生20个单元格的范围:this_address:this_address + 20(在此示例中:A4:A24).
  3. 做一些计算

所有三个步骤都应在一个单一的公式中执行.

lookup excel range excel-formula

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