我在选择语句查询中需要帮助

阿卜杜拉赫曼·侯赛恩(Abdelrahman Hussien)

这是我的表称为帐户

Code         name
-----------  ----------
301          Data1
301001       Data1.1
109          Data2
109001       Data2.1
311          Data3
311001       Data3.1

我想选择所有数据+ 2列,就像这样,其中其他2列中的第一列将是代码中的前3个数字,第二列将是子字符串的名称

Code   |   name    |    code2  |    name2
----------------------------------------
301    |   Data1   |    301    |    Data1
301001 |   Data1.2 |    301    |    Data1
109    |   Data2   |    109    |    Data2  
109001 |   Data2.1 |    109    |    Data2
311    |   Data3   |    311    |    Data3
311001 |   Data3.1 |    311    |    Data3
帕维尔·莫尔舍纽克(Pavel Morshenyuk)

首先,表结构似乎设计得不太好。最好有一个ParentId列,并带有指向上级帐户的链接(列:Id |代码|名称| ParentId)

在这种情况下,查询将非常简单:

SELECT N.Code, N.Name, M.Code AS Code2, M.Name AS Name2
FROM Accounts AS N
INNER JOIN Accounts AS M ON N.ParentId = M.Id OR N.ParentId IS NULL

但是,如果您对数据库结构没有控制权,并且拥有自己的资产,那么我可以提出一个有问题的解决方案:

SELECT N.Code, N.Name, M.Code AS Code2, M.Name AS Name2
FROM Accounts AS N
INNER JOIN Accounts AS M 
  ON N.Code LIKE (M.Code + '%') AND CHARINDEX('.', M.Name) = 0

请参见SQL Fiddle:http ://sqlfiddle.com/#!3/474e2/7

查询假定父帐户的名称中没有圆点!


可以基于主帐户代码始终短于子帐户的假设来构建另一个查询:

SELECT N.Code, N.Name, M.Code AS Code2, M.Name AS Name2
FROM Accounts AS N
INNER JOIN Accounts AS M 
  ON N.Code LIKE (M.Code + '%') AND LEN(N.Code) >= LEN(M.Code)

SQL小提琴:http://sqlfiddle.com/#!3 / 474e2 / 9

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

棘手的选择查询,需要帮助

来自分类Dev

在查询时需要帮助

来自分类Dev

我需要帮助来使此“ For”循环和“ If”语句起作用

来自分类Dev

我需要将Matlab find()语句转换为Python的帮助

来自分类Dev

我需要帮助以获取JavaScript中的URL

来自分类Dev

在Django Orm查询中需要帮助

来自分类Dev

我需要帮助来了解此特定if语句完成的语法

来自分类Dev

在满足特定条件之前,我需要在R中的if else语句中寻求帮助

来自分类Dev

在if语句中需要帮助

来自分类Dev

需要帮助的Mysql查询

来自分类Dev

Mysql中的if语句选择查询

来自分类Dev

当我们在MS SQL Server中执行更新或删除语句时,需要帮助来了解事件流

来自分类Dev

需要计数查询的帮助

来自分类Dev

SQL查询帮助选择语句

来自分类Dev

在SQL中需要帮助,如查询

来自分类Dev

需要帮助为我的sql语句添加更多功能

来自分类Dev

需要帮助的查询

来自分类Dev

在mongoDB聚合查询中需要帮助

来自分类Dev

需要帮助来创建一个if语句,该语句将在.bashrc中达到我的目的

来自分类Dev

需要SQL查询帮助

来自分类Dev

在MySQL语句语法中求和需要帮助

来自分类Dev

我需要有关MySQL中选择语句的帮助

来自分类Dev

我需要帮助,以便在C ++中尽可能地将此IF语句压缩下来

来自分类Dev

在我的Quickbase Jquery脚本中需要帮助

来自分类Dev

需要帮助为select语句编写SQL查询

来自分类Dev

我在python回文计划中需要帮助

来自分类Dev

SQL 查询:需要帮助

来自分类Dev

需要 SQLite 查询帮助

来自分类Dev

需要帮助在我的 RecyclerView 中实现 Spinner