假设我有两个数据帧A和B,每个数据帧包含两个名为x和y的列。我希望连接这两个数据帧,但不是连接在两个数据帧中x和y列相等的行上,而是连接在A的x列是B的x列的子字符串且y列相同的行上。
if A[x][1]='mpla' and B[x][1]='mplampla'
我希望它能被捕获。
在sql上,它可能类似于:
select *
from A
join B
on A.x<=B.x and A.y<=B.y.
这样的事情能在python上完成吗?
我正在使用SSIS合并连接sql服务器数据(左)和oracle数据(右)。在合并连接之前,两个数据集都是在源位置排序的。当oracle源只返回一行时,它工作得很好,但当它返回多行时就不行了。即使有几行有匹配的数据,合并连接后也不会返回数据。下面是我的流程:
更多信息:
两者都是预先排序的(源查询中的order by )。oracle源列EXTERNLAL_ID在查询中被转换为整数,即CAST(EXTERNAL_ID AS INTEGER),因此在合并连接之前,两个连接键都以DT_I4结束。
示例: SQL Server source有三行,UNIQUEID:1,2,3;Or
我有两个相关的sql server表..。TableA和TableB.
***TableA - Columns***
TableA_ID INT
VALUE VARCHAR(100)
***TableB - Columns***
TableB_ID INT
TableA_ID INT
VALUE VARCHAR(100)
对于TableA中的每一条记录,TableB中总是有2记录。因此,TableA与TableB有一对多的关系.
如何编写单个sql语句来连接这些表,并为TableA中的每一行返回一行,其中包括:
表B中first相关行中
所以,我知道SQL中有些东西是如何工作的,但我不知道为什么,我也无法在网上找到一个很好的外行人描述。作为参考,我使用甲骨文11g和蟾蜍。
问题1-与标准的外部连接
我知道,如果将条件放在外部联接表上,则不管语法如何,都可以将查询转换为内部连接。因此,该查询充当内部连接:
SELECT a.field1, b.field1
FROM tableA a
LEFT JOIN tableB b on a.key = b.key
WHERE b.field2 = 'someCriteria'
解决这个问题的方法是在第二个表的条件中包含一个"OR是NULL“。我知道这是真的,
我是SQL的新手。我有两个表,我想使用下面的语句连接它们:
SELECT * FROM
(
SELECT * FROM OPTIONS
UNION ALL
SELECT * FROM tmp
) AS OPTIONS;
其中OPTIONS是一个有300k行和55列的表& tmp是一个有300K行和55列的表。当我运行查询时,它连接了这两个表,但是当我检查OPTIONS时,它仍然有300k行。如何替换或更新OPTIONS,使其具有600k行和55列?
在SQL Select命令的结果中,我有两行:
A | B
B | A
A|B和B|A对我来说是一样的。我希望在SQL命令中只选择其中的一个。
我该怎么做呢?
我有一个select命令,我自己连接它(自然连接),如下所示:
SELECT a.coloumn ,b.coloumn
FROM table a,table b
where .... (not important)
and b.coloumn IN (
SELECT coloumn
FROM table
where ... (the same like above)
)
and b.coloumn != a.colo
假设我有一个包含三列的表Example:X, TableName, ColumnName。
TableName将表的名称存储在数据库中,而ColumnName将我希望将X连接到的列的名称存储在数据库中。问题是不同的行需要连接到不同的表(以定义良好的方式)。
我希望能够做这样的事情:
Select *
from Example join TableName on X = ColumnName
这显然是行不通的。
我是个新手,做了一些googling搜索,似乎我可以使用游标循环遍历行,并使用动态SQL,因为表和列的名称存储在数据库中,但我听说游标和动态SQL都应该避免,所以我没有研究这方面的细节。
编辑:在SQL中,我将一个包含text列的表连接到一个单独的表(下面的示例中没有描述后者)。我希望将每行中的文本连接为一行中的一列。使用一个单独的列(Line),我想使用来确定文本连接的顺序。
Col Line Text
a 1 This
a 4 sentence
a 3 a
a 2 is
单列/单行输出:
This is a sentence
我有一个SQL查询,它在两个表上执行一个内部连接,每个表的行数都超过50m。我希望通过减少基于其中一个表上的列连接的行来减少搜索整个联接所需的时间。
假设我有A、B、C列的table1和A、D、E列的table2,我希望基于A列连接,但只有表2 E列的值'e‘的行。
我的SQL查询:
SELECT one.B, two.D
FROM table1 one
INNER JOIN table2 two WHERE two.E IN ('e')
ON one.A = two.A
WHERE one.B > 10
AND two.D IN ('...')
--我希望使用PHP将两行连接到具有多列(动态)的单行中。
输出应按tf4hid和date进行分组。
SQL查询
Select tf4hid,tf4iid,date,product,planqty
from tf4i
group by date,product
这将逐行打印,但我需要根据列中可用的产品生成列。
在SQL Server 2012中,有没有办法生成一组行和列的哈希?
我想生成一个哈希,并将其存储在父记录中。当更新到来时,我会将传入的散列与父记录散列进行比较,这样就可以知道数据是否发生了更改。
所以像这样的东西会很好:
SELECT GENERATEHASH(CONCATENATE(Name, Description, AnotherColumn))
FROM MyChildTable WHERE ParentId = 2 -- subset of data belong to parent record 2
“连接”将是一个聚合函数,它不仅会连接列,还会连接结果集中的行。像MAX一样,但
我有两个数据帧(让我们分别指定df1和df2),每个数据帧有1347列(两个数据帧的组合名完全相同)和不同的行数( df1中有730行,df2中有706行)。 我需要计算所有列之间的差异(除了一列之外,即1346列之间的差异),并保存列的名称。我所知道的最好的方法是在sqldf包中使用full outer join连接来组合sql语句,因为我需要所有的对象。下面是一个小示例: sqldf("select a.regn, a.col1 - b.col1 as col1, a.col2 - b.col2 as col2 ...
from df1 a full outer
我试图编写一个Oracle或MS SQL脚本,该脚本输出A列中包含单元格值的第一行,第二行包含A列的单元格值,B列与B列连接,用逗号分隔,第三行包含A、B和C列的单元格值,并以逗号分隔。
假设下面的SQL表:
|columnA |columnB|columnC |columnD |columnF |columnG |
|--------|-------|--------|--------|--------|--------|
| matty | lucy | james | mike | tala | mark |
| jana | steph | alex |
我正在使用Mysql和C#,试图通过我称为“索引”的列删除一行。它是一个int唯一的自动增量。
我想将一个sql字符串传递给executequery (string sql = "DELETE FROM Account WHERE index = '123'";)
让它删除第1行,或者任何我经过的行。
我也试过了。“从索引=123的帐户中删除”;
当我将列更改为字符串值时,它会工作。像CRN而不是索引。索引是int,CRN是字符串。但是,当我试图在C#中传递某些内容时,您只能将值作为字符串传递给sql连接。所以我想,我可能需要对我传递的值做一些事
这个问题是关于SQL UNION操作符查找重复行的内部方法--而不是编写我们自己的查询来比较2行。
例如,考虑一下,我使用的是带有2个select查询的union。每个选择是连接5个或6个表,并在结果集中有10列。
问题是:UNION如何找到重复的行?column1 of select1和column1 of select2 & column2 of select1和column2 of select2 .
当我在每个选择中有10列时,结果包含7000行(例如)。
当select语句中有9或11列时(但连接/查询逻辑没有改变)--结果包含不同的行数,而不是7000行。
有人能解释一下,
我对SSIS很陌生。我的SSIS包包含:
1.Extract Data from Excel file (Excel Source Plus Component)
2.Added new Columns (Derived column Transformation)
3.Store Data into SQL Server (OLE DB Destination)
如果excel文件中存在多行相同的ID和用户名,则此SSIS包应检索包含重复行的行,并将整行存储到另一个表中,并在派生列转换之前停止包执行。
如果键列不存在重复值,则只应继续执行。我的桌子结构如下:
ID username Name