-
sql 语句问题0
select * from fs_system_type as a left join sys_menu as c on a.id=c.system_id where a.id in (select top 1 department_right from department where id=1) order by sort_num
服务器: 消息 245,级别 16,状态 1,行 1
将 varchar 值 '1,2,3,4,10' 转换为数据类型为 int 的列时发生语法错误。
我知道是 "in (select top 1 department_right from department where id=1)" 这句这错了 可是怎么样写才对呢
department 表中 department_right 存的是 fs_system_type的id 用,“,”号隔开的 类似(1,2,3,4)
2012年7月06日 11:10
6个答案 按时间排序 按投票排序
-
看起来是你在in的时候需要将'1,2,3,4,10'一条记录按逗号分隔符拆开成多条记录,在Oracle里面的话有个正则表达式regexp_substr可以很好的拆分记录:
select * from fs_system_type as a left join sys_menu as c on a.id = c.system_id where a.id in (select dbms_lob.substr(regexp_substr(t.department_right, '[^,]+', 1, x.n)) as department_right from department t, (select rownum n from dual connect by rownum < (select length(f.department_right) - length(replace(f.department_right, ',', '')) + 2 n from department f where f.id = 1)) x where t.project_name = 1) order by sort_num;
SqlServer的话,估计要自定义一个split之类的function,这个网上有很多。。2012年7月06日 12:09
-
你可以将select top 1 department_right from department where id=1查询出来的值,直接写在in()中,看看查询结果
2012年7月06日 17:37
-
我试了下,好像不会出这样的错误啊,oracle里面允许这样写的啊,查出来多个值,然后用in来匹配查出来的值,可以的啊,能告诉我具体是个什么问题么~不是很明白
2012年7月06日 15:36
-
mysql可以这么查:
select * from fs_system_type as a left join sys_menu as c on a.id=c.system_id where find_in_set(a.id , (select top 1 department_right from department where id=1)) order by sort_num
2012年7月06日 15:03
-
select top 1 department_right from department where id=1结果是什么?
2012年7月06日 11:38
相关推荐
SQL语句是数据库操作的核心,它用于查询、插入、更新和删除数据,是任何数据库管理系统中的基础工具。在IT行业中,编写SQL语句是一项必备技能,但手动编写和调试SQL语句可能会耗费大量时间和精力,尤其在处理复杂...
本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...
本篇文章将深入探讨当在.NET环境中遇到无法创建SQL语句问题时的解决策略,帮助开发者更好地理解和处理此类问题。 ### .NET环境中的SQL语句创建 #### 基础概念 .NET框架为开发人员提供了丰富的工具和技术来处理...
sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明...
在Java编程中,调试SQL语句是开发过程中的常见任务,尤其当面对复杂且冗长的查询时。为了提高效率并使SQL语句更易于理解和分析,格式化SQL语句显得尤为重要。标题提及的"Java打印漂亮的SQL语句(被格式化的SQL语句)...
此外,Toad还提供了其他功能,例如SQL优化顾问、索引顾问、锁定分析等,能够帮助数据库管理员快速诊断和解决慢SQL语句问题。 结论 使用Toad工具可以方便地抓取运行较慢的SQL语句,并对其进行深入分析和优化。Toad...
"hibernate执行原生sql语句" Hibernate 是一种流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在一些情况下,我们需要直接执行原生 SQL 语句,而不是使用 Hibernate 的...
SQL Server 动态 SQL 语句的用法 SQL Server 中的动态 SQL 语句是一种灵活的查询方式,它可以根据不同的情况生成不同的 SQL 语句。动态 SQL 语句可以用来实现复杂的业务逻辑,提高查询效率和灵活性。 普通 SQL ...
PB脚本中SQL语句写法与SQL中语句写法对照 PB脚本中SQL语句写法与SQL中语句写法对照是非常重要的知识点,因为PB脚本和SQL语言在写法和应用中有所不同。本文将对PB脚本中SQL语句写法和SQL中语句写法进行对比和分析。 ...
sql语句sql语句sql语句sql语句sql语句
在Oracle数据库管理与维护过程中,有时候我们需要了解应用程序正在执行哪些SQL语句,这不仅有助于性能优化,还可以帮助我们诊断潜在的问题。通过监听执行SQL语句的方式,我们可以获取到当前会话正在执行的具体SQL...
1. **SQL捕获**:它可以实时捕获应用程序在运行过程中发送到数据库的所有SQL语句,这对于排查性能问题、理解业务逻辑或优化数据库操作极其有价值。 2. **无源码需求**:SQLTracker的一大亮点是无需源代码就能工作,...
全面掌握SQL语句 详细的SQL语句介绍 详细的SQL语句介绍 详细的SQL语句介绍 详细的SQL语句介绍
### SQL执行超长语句详解 在数据库管理与开发过程中,编写SQL语句是必不可少的一环。...通过采取上述提到的一些策略和技术手段,可以有效缓解因超长SQL语句带来的问题与挑战,最终实现更高效的数据处理与分析能力。
在使用Visual Basic (简称VB)进行数据库操作时,可能会遇到因为SQL语句过长而导致无法正常执行的问题。这种情况下,即使该SQL语句可以在SQL Server的查询分析器中成功运行,但在VB程序中却会因为长度限制而失败。...
在实际开发中,有时我们需要了解LINQ查询是如何转换为SQL语句的,以便于调试和优化性能。以下将详细介绍几种查看LINQ生成SQL语句的方法。 1. **Debug.WriteLine()** 在使用LINQ查询时,可以利用`Debug.WriteLine()...
非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK
在数据库管理系统(如MySQL、Oracle、SQL Server等)中,SQL语句是不可或缺的一部分。 1. SQL基础语法 SQL的基础语法包括SELECT、INSERT、UPDATE、DELETE四大语句,它们分别用于查询、插入、更新和删除数据。 - ...
### ArcGIS中的SQL语句详解 #### 一、SQL在ArcGIS中的角色与应用 SQL,全称为Structured Query Language,即结构化查询语言,是专为数据库设计的一种标准语言,用于管理和操作数据库中的数据。在ArcGIS环境中,SQL...
为了解决这个问题,出现了SQL语句拼接工具,如描述中提到的,它能帮助简化SQL语句的拼写代码,提高开发效率。 标题中的“SQL语句拼接工具”是指一种软件开发辅助工具,它的主要功能是自动化生成SQL语句,特别是在...