`
ifox
  • 浏览: 64546 次
社区版块
存档分类
最新评论

将查询结果按照in的内容进行排序

 
阅读更多

     今天客户发来一个excel表,内容不多,就两列,一列是车牌号,一列是设备号,让我帮忙导出设备号的相关信息(如出厂日期、手机号、设备名称了等等),开始把数据copy到nodepad++中整理个。以为用个in就可以了,查询完成后发现,用in之后我把查询结果拷贝回来的时候数据就对不齐了。

     google了下,说也没什么好的办法。唯独的办法是创建一张临时表将这些数据插入到临时表中,然后再查询。原文出处  http://www.itpub.net/thread-120567-1-1.html。想了下发现确实是个好办法。于是乎就新建了一张表,两个字段使用plsql将excel导入进去,导入步骤为。

tools、ODBC Importer,在弹出的页面中,将user/System DSN中选择Excel Files,输入用户名密码,点击Connect就会弹出让你选择Excel的位置,选择好文件,再选择Data to Oracle先项卡,选择所有者、要导入的表。将Excel中要导入的字段与数据库字段设置好点击导入即可,非常方便、人性化。数据类型一定要选择不然会提示失败。

    接下来进行查询即可,我在查询过程中使用A left join B,A表中是1398条记录,结果查询出来的时候是1400条,想想使用left join应该不会出现这种情况。后来用sql测试查询了下,发现是A表与B表中关联的字段,B表在在不只一个。恍然大悟哈

 

 

附另外一种Excel的导入方法,我觉得挺好的。

 

1、创建SQL*Loader输入数据所需要的文件,均保存到C:\,用记事本编辑: 
          控制文件:input.ctl,内容如下: 
                    load data                         --1、控制文件标识 

                    infile 'test.txt'        --2、要输入的数据文件名为test.txt 

                    append into table test   --3、向表test中追加记录 

                    fields terminated by X'09' --4、字段终止于X'09',是一个制表符(TAB) 

                    (id,username,password,sj) -----定义列对应顺序 

          a、insert,为缺省方式,在数据装载开始时要求表为空 
          b、append,在表中追加新记录 
          c、replace,删除旧记录,替换成新装载的记录 
          d、truncate,同上 

7、在DOS窗口下使用SQL*Loader命令实现数据的输入 
C:\>sqlldr userid=system/manager control=input.ctl 
  默认日志文件名为:input.log 
  默认坏记录文件为:input.bad 
如果是远程对数据库进行导入操作,则输入字符串应改为: 
C:\>sqlldr userid=system/manager@serviceName_192.168.1.248 control=input.ctl 

8、连接到SQL*Plus中,查看是否成功输入,可比较input.log与原test.xls文件,查看数据是否全部导入,是否导入成功. 

分享到:
评论

相关推荐

    Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    在文中提到的例子中,即使为列添加了索引,`ORDER BY`操作仍然没有按照预期进行,这主要是因为`ROWNUM`不是一个稳定的排序依据,它只是表示查询结果集的顺序,而不是数据本身的物理存储顺序。 `ROWID`是Oracle...

    按in查询排序

    在本篇文章中,我们将深入探讨一个SQL查询技巧——“按in查询排序”,并结合实际案例进行解析。这种方法能够帮助我们高效地获取所需数据,并按照特定顺序进行排列。 ### 按in查询排序的理解 #### 1. 基础概念 在...

    关于Select Where In 的排序问题

    默认情况下,这个查询返回的结果将按照`table1`表中的`ID`字段的原有顺序排序,而不是`IN`子句中提供的顺序。为了实现按照`IN`子句的顺序排序,我们可以利用字符串函数来解决这个问题。 对于**Microsoft SQL Server...

    pymongo实现多结果进行多列排序的方法

    当需要按照多个字段来对查询结果进行排序时,可以使用`sort()`方法接受一个字段列表。每个字段都由元组组成,第一个元素是字段名,第二个元素是排序方式(`ASCENDING`或`DESCENDING`)。 - **多列排序示例**: ```...

    Oracle SQL&PLSQL课件:第2章 限定查询和排序.ppt

    在本章节中,我们将学习如何使用 WHERE 子句来限定查询结果,掌握排序的基本规则和使用各种运算符来实现复杂的查询。 一、限定查询 在 Oracle SQL 中,我们可以使用 WHERE 子句来限定查询结果。WHERE 子句紧跟在 ...

    SQL自定义排序

    自定义排序的核心在于使用特定的SQL语法来改变查询结果的顺序,而不依赖于表本身的排序规则。常见的实现方式有两种: 1. **使用CASE WHEN语句**:通过CASE WHEN语句根据指定条件为每一行数据赋值,然后基于这些赋值...

    数字图书馆中查询结果的自动分类算法的设计.pdf

    粗分类即对查询结果按照系统藏书的现有分类标准进行分类;细分类是在某一个系统现有的最小类中查询结果仍然很多时,在该类内再进行分类。 为缩小查询范围,数字图书馆中的所有馆藏在录入时要按照某种科学分类标准...

    实验6 数据查询.doc

    实验内容涵盖了数据查询、数据排序、数据连接查询、嵌套查询、组合查询和统计查询等操作方法。 1. 数据查询 数据查询是数据库中最基本的操作,包括简单查询、排序查询、连接查询、嵌套查询、组合查询和统计查询等...

    Oracle 中文字段进行排序的sql语句

    这将按照汉字对应的汉语拼音进行排序,无论是声母、韵母还是声调都会被考虑在内,适合拼音输入法相关的应用或者需要按照读音查找的场景。 除了以上三种排序方式,Oracle数据库还提供了其他排序规则,例如按照词频、...

    mysql数据查询操作-实验训练2.docx

    * 了解如何使用 UNION 语句合并多个查询结果 * 了解如何使用 INTERSECT 语句获取公共记录 * 了解如何使用 EXCEPT 语句获取差异记录 7. 排序和分组: * 了解如何使用 ORDER BY 语句对记录进行排序 * 了解如何使用 ...

    快速排序.pdf

    它通过对数组进行递归分割来实现排序,每次分割都能找到一个基准元素,并将数组分为两部分:一部分的所有元素都不大于基准元素,另一部分的所有元素都不小于基准元素。 #### 二、快速排序的基本思想 快速排序的...

    信息检索多样化排序算法研究综述.docx

    然而,传统的信息检索方法往往侧重于通过计算文档与查询之间的相关性来进行排序,忽略了用户需求的多样性和复杂性。为了更好地满足用户的不同需求,信息检索领域引入了多样化排序算法这一概念。 #### 二、信息检索...

    Lucene in action配套源代码

    3. **搜索执行**:展示了如何执行查询,返回匹配的文档,并对结果进行排序。这可能包括评分函数的定制,以便根据相关性对结果进行排序。 4. **结果集处理**:源代码可能会展示如何处理返回的搜索结果,如高亮显示...

    数据库实验四:SQL数据查询.doc

    * 查询结果按多列排序,并分别要求升序和降序的查询 * 使用TOP显示前假设干记录的查询 2. 连接查询: * 两个关系的连接查询 * 带其他查询条件的两个关系的连接查询 * 多个关系(三个以上)的连接查询 * 两个关系的...

    实验五--数据查询——复杂查询.doc

    * 使用 NOT IN 操作符来查询没有订购商品的客户,并使用 AND 操作符来关联客户的地址信息,最后使用 ORDER BY 语句来排序结果。 3. 查询订购了“32M DRAM”商品的订单编号,订货数量和订货单价。 * 使用 SELECT ...

    MySql基本查询、连接查询、子查询、正则表达查询讲解

    如果有ORDER BY子句,就按照“属性名2”指定的字段进行排序。排序方式由ASC或DESC参数指定。默认的排序方式为ASC。 二、在单表上查询数据 2.1、查询所有字段 [sql] view plain copy select * from STUDENT; 2.2...

    SQL数据库 查询语句使用精华

    `ORDER BY`子句用于按指定列对查询结果进行排序。 **示例:** ```sql SELECT * FROM employees ORDER BY salary DESC, hire_date ASC; ``` 这条命令按照薪水降序排列,并且对于薪水相同的员工按照入职日期升序排列...

    SQL数据的查询和更新实验报告报告.pdf

    - **IN, NOT IN**:比较子查询结果中的值 - **比较运算符子查询**:如`<, >, , >=, =, !=` - **SOME, ANY, ALL**:比较子查询结果中的任何值或所有值 - **EXISTS**:检查子查询是否存在匹配项 #### 1.4 集合...

Global site tag (gtag.js) - Google Analytics