Questions tagged «join»

JOIN是关系代数中的一般运算,用于在关系数据库系统中对两个或多个关系进行组合运算。JOIN也是用于执行此操作的SQL语言的关键字。

8
1052:字段列表中的列“ id”不明确
我有2张桌子。tbl_names并且tbl_section两者都有id。如何选择id字段,因为我总是会收到此错误: 1052: Column 'id' in field list is ambiguous 这是我的查询: SELECT id, name, section FROM tbl_names, tbl_section WHERE tbl_names.id = tbl_section.id 我可以选择所有字段并避免错误。但这将浪费性能。我该怎么办?

4
LINQ在On子句中具有多个条件的联接
我正在尝试在LINQ中实现查询,该查询在ON子句中使用具有多个条件的左外部联接。 我将使用以下两个表的示例Project(ProjectID,ProjectName)和Task(TaskID,ProjectID,TaskName,已完成)。我想查看所有项目的完整列表以及它们各自的任务,但只能看到已完成的那些任务。 我无法使用过滤器,Completed == true因为这将过滤掉所有未完成任务的项目。相反,我想添加Completed == true到联接的ON子句中,以便显示完整的项目列表,但仅显示已完成的任务。没有完成任务的项目将显示一行,且Task的值为空。 这是查询的基础。 from t1 in Projects join t2 in Tasks on new { t1.ProjectID} equals new { t2.ProjectID } into j1 from j2 in j1.DefaultIfEmpty() select new { t1.ProjectName, t2.TaskName } 如何添加&& t2.Completed == trueon子句? 我似乎找不到有关如何执行此操作的任何LINQ文档。
93 linq  join 

16
在考虑可伸缩性时,为什么联接不好?
为什么联接不好或“慢”。我知道我再听一次。我找到了这句话 问题是联接相对较慢,尤其是在非常大的数据集上,如果联接较慢,则您的网站也很慢。从磁盘上获取所有这些单独的信​​息位并将它们重新组合在一起需要很长时间。 资源 我一直以为他们很快,尤其是在查找PK时。他们为什么“慢”?
92 sql  join 

2
在SQLite上联接表时如何进行UPDATE?
我试过了 : UPDATE closure JOIN item ON ( item_id = id ) SET checked = 0 WHERE ancestor_id = 1 和: UPDATE closure, item SET checked = 0 WHERE ancestor_id = 1 AND item_id = id 两者都适用于MySQL,但是它们在SQLite中给了我语法错误。 如何使此UPDATE / JOIN与SQLite 3.5.9版一起使用?

5
sqlalchemy:如何通过一个查询联接多个表?
我有以下SQLAlchemy映射的类: class User(Base): __tablename__ = 'users' email = Column(String, primary_key=True) name = Column(String) class Document(Base): __tablename__ = "documents" name = Column(String, primary_key=True) author = Column(String, ForeignKey("users.email")) class DocumentsPermissions(Base): __tablename__ = "documents_permissions" readAllowed = Column(Boolean) writeAllowed = Column(Boolean) document = Column(String, ForeignKey("documents.name")) 我需要为这样的一张桌子user.email = "user@email.com": email | name | document_name | …
92 python  sql  join  sqlalchemy 

2
MySQL JOIN的默认默认行为是INNER或OUTER?
因此,我在过去的一个小时里一直在互联网上浏览,阅读并寻找这个简单问题的明确答案。 MySQL中的默认JOIN是什么? SELECT * FROM t1 JOIN t2 是一样的吗 SELECT * FROM t1, t2 OR SELECT * FROM t1 INNER JOIN t2 还有一个相关的问题,当您使用“ WHERE”子句时,它是否与JOIN或INNER JOIN相同? 现在,我认为独立的JOIN与使用逗号和WHERE子句相同。
91 mysql  select  join 

6
如何在LINQ Lambda中的多个表之间执行Join
我试图在LINQ中的多个表之间执行联接。我有以下课程: Product {Id, ProdName, ProdQty} Category {Id, CatName} ProductCategory{ProdId, CatId} //association table 我用下面的代码(其中product,category和productcategory是在上述类的实例): var query = product.Join(productcategory, p => p.Id, pc => pc.ProdID, (p, pc) => new {product = p, productcategory = pc}) .Join(category, ppc => ppc.productcategory.CatId, c => c.Id, (ppc, c) => new { productproductcategory = ppc, category = …

2
加入dplyr时如何指定x和y的列名?
我有两个要使用dplyr加入的数据框。一个是包含名字的数据帧。 test_data <- data.frame(first_name = c("john", "bill", "madison", "abby", "zzz"), stringsAsFactors = FALSE) 另一个数据框包含Kantrowitz名称语料库的清理版本,用于标识性别。这是一个最小的示例: kantrowitz <- structure(list(name = c("john", "bill", "madison", "abby", "thomas"), gender = c("M", "either", "M", "either", "M")), .Names = c("name", "gender"), row.names = c(NA, 5L), class = c("tbl_df", "tbl", "data.frame")) 我本质上是想test_data使用kantrowitz表从表中查找名称的性别。因为我要将其抽象为一个函数encode_gender,所以我不知道将要使用的数据集中的列的名称,因此,我不能保证它会name像那样被使用kantrowitz$name。 在基本RI中,将以这种方式执行合并: merge(test_data, kantrowitz, by.x = "first_names", …
89 r  join  left-join  dplyr 

10
何时在MySQL上使用STRAIGHT_JOIN
我刚刚遇到了一个非常复杂的查询,要花8秒钟才能运行。EXPLAIN显示了一个奇怪的表顺序,即使使用FORCE INDEX提示也没有全部使用我的索引。我遇到了STRAIGHT_JOIN连接关键字,并开始用它替换一些INNER JOIN关键字。我注意到速度有了很大提高。最终,我为此查询将所有INNER JOIN关键字替换为STRAIGHT_JOIN,现在运行时间为.01秒。 我的问题是何时使用STRAIGHT_JOIN,何时使用INNER JOIN?如果您编写良好的查询,是否有任何理由不使用STRAIGHT_JOIN?
88 mysql  join 

7
如何排除不与另一个表联接的行?
我有两个表,一个有主键,另一个有它作为外键。 我只想从辅助表中提取数据,除非辅助表没有包含其键的条目。与简单内部联接相反,后者仅返回通过该键联接在一起的行。
86 sql  join 

6
熊猫中merge()和concat()之间的差异
pd.DataFrame.merge()和之间的本质区别是pd.concat()什么? 到目前为止,这是我发现的,请评论我的理解是多么完整和准确: .merge()只能使用列(加上行索引),并且在语义上适合于数据库样式的操作。.concat()可以与任一轴一起使用,仅使用索引,并提供添加分层索引的选项。 顺便提及,这允许以下冗余:两者都可以使用行索引组合两个数据帧。 pd.DataFrame.join() 只是为以下用例的一部分提供了简写 .merge() (Pandas非常擅长解决数据分析中的各种用例。探索文档以找出执行特定任务的最佳方法可能有些艰巨。)
85 python  pandas  join  merge  concat 

10
将子查询中的多个结果合并为一个逗号分隔的值
我有两个桌子: TableA ------ ID, Name TableB ------ ID, SomeColumn, TableA_ID (FK for TableA) 这种关系是TableA一对多的TableB。 现在,我想看到这样的结果: ID Name SomeColumn 1. ABC X, Y, Z (these are three different rows) 2. MNO R, S 这将不起作用(在子查询中有多个结果): SELECT ID, Name, (SELECT SomeColumn FROM TableB WHERE F_ID=TableA.ID) FROM TableA 如果我在客户端进行处理,这将是一个小问题。但这意味着我将必须在每个页面上运行X查询,其中X是的结果数TableA。 请注意,我不能简单地执行GROUP BY或类似的操作,因为它将为的行返回多个结果TableA。 我不确定使用COALESCE或类似方法的UDF是否可以工作?
84 sql-server  tsql  join 

6
连接列表中的元素对
我知道可以将一个列表连接成一个长字符串,如下所示: x = ['a', 'b', 'c', 'd'] print ''.join(x) 显然,这将输出: 'abcd' 但是,我想做的只是将列表中的第一个和第二个字符串连接起来,然后连接第三个和第四个字符串,依此类推。简而言之,从上面的示例中取而代之的是: ['ab', 'cd'] 有没有简单的方法可以做到这一点?我可能还应该提到,列表中字符串的长度以及列表中字符串的数量都是不可预测的,尽管字符串的数量始终是偶数。因此原始列表也可能是: ['abcd', 'e', 'fg', 'hijklmn', 'opq', 'r']
82 python  string  list  join 

2
查询指定了联接提取,但是选择列表中不存在所提取关联的所有者
我正在选择两个id列,但指定了错误: org.hibernate.QueryException: **query specified join fetching, but the owner of the fetched association was not present in the select list** [FromElement{explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=r,role=null,tableName=REVISIONS,tableAlias=revision1_,origin=ENTITY_CHANGED_IN_REVISION entitychan0_,columns={entitychan0_.REV_ID ,className=ru.csbi.registry.domain.envers.Revision}}] [ select ec.id as entityChangeId, r.id as revisionId from ru.csbi.registry.domain.envers.EntityChange as ec inner join fetch ec.revision as r where ec.groupEntityId = …
82 hibernate  join  fetch 

3
完全外加入vs.完全加入
只是玩弄查询和示例以更好地理解联接。我注意到在SQL Server 2008中,以下两个查询给出的结果相同: SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name SELECT * FROM TableA FULL JOIN TableB ON TableA.name = TableB.name 它们是执行完全相同的操作以产生相同的结果,还是在更复杂的示例中遇到不同的结果?这只是可互换的术语吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.