Tag: join

在HQL中无关联地join

比方说,我有两个表(A,B),如: A {id, a, c} B {id, b, c} 我也有他们的实体。 我想编写一个HQL,使得结果集会像(其中Ac = Bc): (a1, b1, c1) (a2, b2, c2) (a3, b3, c3) … 由于子句不支持hibernate我卡住,我不知道如何编写查询。

取消select一个选项

说我有一个val s: Option[Option[String]] 。 因此它可以有以下值: Some(Some("foo")) Some(None) None 我想减less它,以便第一个变成Some("foo")而其他两个变成None 。 显然有很多方法可以完成这个任务,但是我正在寻找一个简单的,也许是内置的,不到一个class轮。

基于另一个表值的MySQL更新表

我有两张桌子, 这是我的第一张桌子, ID SUBST_ID CREATED_ID 1 031938 TEST123 2 930111 COOL123 3 000391 THIS109 4 039301 BRO1011 5 123456 COOL938 … … … 这是我的第二张桌子, ID SERIAL_ID BRANCH_ID 1 039301 NULL 2 000391 NULL 3 123456 NULL … … … 我需要一些如何使用我的第一个表中的数据更新我的第二个表中的所有行。 这将需要在一个更新查询中完成。 SUBST_ID和SERIAL_ID都匹配,它需要从第一个表中获取created_id并将其插入到第二个表中。 所以第二张桌子会变成下面 ID SERIAL_ID BRANCH_ID 1 039301 BRO1011 2 000391 THIS109 3 123456 COOL938 […]

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 | document_readAllowed | document_writeAllowed 如何使用SQLAlchemy的一个查询请求? […]

如何将切片joinstring?

package main import ( "fmt" "strings" ) func main() { reg := […]string {"a","b","c"} fmt.Println(strings.Join(reg,",")) } 给我一个错误: prog.go:10:不能使用reg(type [3] string)作为参数的types[] string到strings.Join 有没有比循环和添加到一个更直接/更好的方法?

LINQ:结合连接和分组

我有一个查询,结合了一个连接和一个组,但我有一个问题。 查询如下所示: var result = from p in Products join bp in BaseProducts on p.BaseProductId equals bp.Id group p by p.SomeId into pg select new ProductPriceMinMax { SomeId = pg.FirstOrDefault().SomeId, CountryCode = pg.FirstOrDefault().CountryCode, MinPrice = pg.Min(m => m.Price), MaxPrice = pg.Max(m => m.Price), BaseProductName = bp.Name <—— can't use bp. }; 如您所见,它将Products表与BaseProducts表连接起来,并将其分组在Product表的id上。 但在生成的ProductPriceMinMax中,我还需要BaseProducts表的一个属性:bp.Name,但它不知道bp。 任何想法我做错了什么? 谢谢!

join多个string(如果它们在Python中不是空的话)

我有四个string,其中任何一个都可以是空的。 我需要将它们连接成一个空格之间的string。 如果我使用: new_string = string1 + ' ' + string2 + ' ' + string3 + ' ' + string4 如果string1为空,则结果是新string的开始处string1空白。 另外,如果string2和string3是空的,我有三个空格。 当我不需要它们时,我怎样才能轻松地join它们而没有空白空间?

CakePHP使用JOIN查找方法

嗨, 我需要使用CakePHP find方法执行以下查询: SELECT * FROM `messages` INNER JOIN users ON messages.from = users.id WHERE messages.to = 4 ORDER BY messages.datetime DESC 基本上我有: messages模型的messages表 users表与User模型 并希望在一个查询中从两个表中检索信息。 users.id字段与messages.from字段相同,所以这就是连接所在的位置。 我在我的MessagesController这样做,所以它需要是这样的: $this->Message->find(); 谢谢

在R中滚动连接data.table

我想了解更多有关滚动连接工作的方式,并且有一些困惑,我希望有人能够为我澄清这一点。 举一个具体的例子: dt1 <- data.table(id=rep(1:5, 10), t=1:50, val1=1:50, key="id,t") dt2 <- data.table(id=rep(1:5, 2), t=1:10, val2=1:10, key="id,t") 我期望这将产生一个长的data.table在dt2的价值滚动: dt1[dt2,roll=TRUE] 相反,正确的做法似乎是这样的: dt2[dt1,roll=TRUE] 有人可以向我解释更多关于如何joindata.table作品,因为我显然不能正确理解它。 我认为dt1[dt2,roll=TRUE]对应于select * from dt1 right join dt2 on (dt1.id = dt2.id and dt1.t = dt2.t) sql的等价物,除了添加了locffunction。 另外文档说: X[Y] is a join, looking up X's rows using Y (or Y's key if it has one) […]

内部联接与内部联接(SELECT。FROM)

这两个版本的查询在性能方面是否有区别? –Version 1 SELECT p.Name, s.OrderQty FROM Product p INNER JOIN SalesOrderDetail s on p.ProductID = s.ProductID –Version 2 SELECT p.Name, s.OrderQty FROM Product p INNER JOIN (SELECT ProductID, OrderQty FROM SalesOrderDetail) s on p.ProductID = s.ProductID 我听说(由DBA)说,版本2更快,因为它在内部SELECT语句中仅提取查询所需的列。 但这似乎没有道理,因为查询性能(据我所知)是基于受影响的行数和返回列的最终列表。 查询计划是相同的,所以我猜这两者之间没有任何区别。 我对么?