0

我刚刚被分配了一个使用 SQL 的小任务,我已经非常过时了,我知道一些非常基本的东西,这个任务非常乏味,我相信有比一个一个更简单的方法来完成它.

这是问题:

公司在不同的服务器上有两个数据库(一个是 Oracle),我使用 Toad for Oracle 来查询这两个数据库。

我有一个 Excel 文件,其中包含 6k 收据编号列表,这些收据编号应该已转移到 Oracle,但由于某种原因,并非所有这些编号都已转移,因此我需要检查两个数据库中的每个编号,然后检查其他一些字段比如账单金额。现在可以忽略最后一部分。

我更喜欢在 SQL 中构建查询,或者在 excel 中构建一些公式,我可以将数据粘贴到三列中,第一个 DB 的结果和第二个 DB 的结果并自动交叉检查。哦,差点忘了,所有数据源中都重复了一些数字:S

任何帮助将不胜感激,希望我解释得足够清楚。

4

1 回答 1

1

有几种方法可以做到这一点。考虑到你的技能,我会这样做:

  1. 将数据粘贴到 Excel 中的 N 列中。
  2. 使用 N 列中的数据在第一行创建 SQL 语句。应该看起来像这样:=concat("select ", A1 , " from dual where not exists (select 1 from receipts_table where receipt_id = '", A1, "');"为要检查的其他字段添加额外的 where 子句。
  3. 将 SQL 复制/粘贴到 Toad 并检查它是否运行。如果收据丢失或在 Oracle 中没有正确的值,它应该打印receipt_id。
  4. 在 Excel 中使用“Fill->Down”为每张收据创建一个 SQL。
  5. 将 6k SQL 语句复制到 Toad 并将它们作为脚本运行。
  6. 找到产生输出的行。这些是丢失的收据。
于 2013-03-14T16:06:01.173 回答