Tag: join

T-SQL:select要通过连接删除的行

场景: 比方说,我有两个表,TableA和TableB。 TableB的主键是单个列(BId),并且是TableA中的外键列。 在我的情况下,我想删除TableB中与TableB中的特定行链接的所有行:我可以通过连接吗? 删除从连接拉入的所有行? DELETE FROM TableA FROM TableA a INNER JOIN TableB b ON b.BId = a.BId AND [my filter condition] 还是我被迫这样做: DELETE FROM TableA WHERE BId IN (SELECT BId FROM TableB WHERE [my filter condition]) 我想问的原因在于,在处理大型表格时,第一种select会更有效率。 谢谢!

在查询中混合ANSI 1992 JOIN和COMMA

我正在尝试以下MySQL查询来获取一些数据: SELECT m.*, t.* FROM memebers as m, telephone as t INNER JOIN memeberFunctions as mf ON m.id = mf.memeber INNER JOIN mitgliedTelephone as mt ON m.id = mt.memeber WHERE mf.function = 32 但我总是得到以下错误: #1054 – Unknown column 'm.id' in 'on clause' 该列确实存在,并且只有一个表的查询工作正常(例如,当我删除电话) 有人知道我做错了吗?

SQL内部连接3表?

我试图在视图中join3个表格; 这里是情况: 我有一个表格,里面包含申请住在这所大学校园的学生的信息。 我有另外一张表,列出了每个学生的大厅首选项(其中3个)。 但是,这些偏好中的每一个都只是一个ID号,而ID号在第三个表中有一个对应的名字(没有devise这个数据库…)。 很多,我有他们的喜好,他们的信息内部join桌子上,结果是像… John Doe | 923423 | Incoming Student | 005 005将是HallID。 所以现在我想把HallID与第三个表相匹配,这个表包含一个HallID和HallName。 所以我非常希望我的结果像… John Doe | 923423 | Incoming Student | Foley Hall <—(INSTEAD OF 005) 编辑这里是我目前有 SELECT s.StudentID, s.FName, s.LName, s.Gender, s.BirthDate, s.Email, r.HallPref1, r.HallPref2, r.HallPref3 FROM dbo.StudentSignUp AS s INNER JOIN RoomSignUp.dbo.Incoming_Applications_Current AS r ON s.StudentID = r.StudentID […]

何时以及为什么数据库连接费用高昂?

我正在做一些数据库研究,我正在关注关系数据库的一些限制。 我得到的是大桌子的连接是非常昂贵的,但我不完全确定为什么。 DBMS需要做什么来执行连接操作,瓶颈在哪里? 如何反规范化有助于克服这一代价? 其他优化技术(如索引)如何提供帮助? 个人经验值得欢迎! 如果您要发布资源链接,请避开维基百科。 我知道哪里可以find。 与此相关,我想知道像BigTable和SimpleDB这样的云服务数据库使用的非规范化方法。 看到这个问题 。

Java:数组的function像PHP的join()?

我想用一个胶水stringjoin一个String[] 。 有这个function吗?

自我连接的解释

我不明白需要自我join。 有人可以向我解释吗? 一个简单的例子将是非常有帮助的。

将多个子查询中的结果组合成一个逗号分隔值

我有两张桌子: 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是否可行?

如何获得一个SQL查询多个计数?

我想知道如何写这个查询。 我知道这个实际的语法是假的,但它会帮助你理解我想要的。 我需要这种格式,因为它是一个更大的查询的一部分。 SELECT distributor_id, COUNT(*) AS TOTAL, COUNT(*) WHERE level = 'exec', COUNT(*) WHERE level = 'personal' 我需要这一切返回一个查询。 此外,它需要在一行,所以下面不会工作: 'SELECT distributor_id, COUNT(*) GROUP BY distributor_id'

MySQL:快速细分连接types

我想快速分解一下MySQL连接的types。 我知道这些,其余的我不确定他们的意思。 逗号分隔(这到底是什么?): SELECT * FROM a, b WHERE b.id = a.beeId AND … 显示来自a的信息,即使在b中没有匹配: SELECT * FROM a LEFT OUTER JOIN b ON b.id = a.beeId WHERE … 我已经看到了其他的连接,但是想知道是什么使它们变得不同, INNER / OUTER是什么,增加了LEFT改变的东西。 我已经知道如何join工作,我只想知道是否有其他types的联接,或者如果他们是不同的方式来获得相同的结果。

如何在单个连接中的多个字段LINQ中join

我需要做一个LINQ2DataSet查询,在一个以上的领域(如 var result = from x in entity join y in entity2 on x.field1 = y.field1 and x.field2 = y.field2 我还没有find一个合适的解决scheme(我可以将额外的约束添加到where子句,但是这远远不是一个合适的解决scheme,或者使用这个解决scheme,但假设是一个equijoin)。 是否有可能在一个连接的多个领域joinLINQ的LINQ? 编辑 var result = from x in entity join y in entity2 on new { x.field1, x.field2 } equals new { y.field1, y.field2 } 是我引用上面假设一个equijoin的解决scheme。 进一步编辑 为了回答我原来的例子是一个equijoin的批评,我确实承认,我目前的要求是为了一个equijoin,而且我已经使用了上面提到的解决scheme。 然而,我正在试图了解我有什么可能性和最佳实践,应该使用LINQ。 我将需要做一个date范围查询连接与表ID很快,只是先发制人的问题,看来我必须在where子句中添加date范围。 感谢一如既往的所有build议和意见