如何令sql查詢的結果集與客戶提供的excel表格中列的資料保持一致
今天為客戶提供報表時,碰到一個小問題,客戶提供給我的是excel表格,表格之中有個列名為訂單號碼(order_id),
需要我作什麼呢,到資料庫中查詢這些訂單號碼,並提取與訂單相關的資料填充更新到他們傳送給我的表格中。
這裡有個問題:訂單相關的資料是儲存在表:deal_order,用sql根據客戶的要求查詢後,得到的結果order_id訂單號碼的
順序與客戶傳送給我的就不一一匹配了,導致要手工
一一匹配,然後把相符的訂單資料填充更新到客戶所需的excel表格中;
如何解決令客戶提供的訂單號碼的順序與經過sql查詢後的訂單號碼的順序相匹配,或者說相一致呢,這樣很簡便了。
直接把查詢的結果複製到表格中,發給客業即可,節省了
大量的時間.
分析:
客戶表格
order_id
1
3
2
查詢的sql
order_id
1
2
3
如何把客戶的表格轉換為一種形式,經sql查詢後原順序不變化,即新加一個列即可,此列與原order_id對應
,最終對這個新新增的列order by即不打亂原訂單的順序了
--建立表
create table deal_order(order_id int);
--插入資料
insert into deal_order values(1);
insert into deal_order values(2);
insert into deal_order values(3);
insert into deal_order values(4);
--提交
commit;
---新增一個新表t_map,用於對映原表格order_id與新添列的關係
create table t_map(order_id int,orig_col int);
---建立一個序列,基於序列可實現order_id無變更順序的功能
create sequence seq_map start with 1;
--假如原表格提供的訂單順序為:3,2,1,4
insert into t_map(order_id,orig_col) values(3,seq_map.nextval);
insert into t_map(order_id,orig_col) values(2,seq_map.nextval);
insert into t_map(order_id,orig_col) values(1,seq_map.nextval);
insert into t_map(order_id,orig_col) values(4,seq_map.nextval);
--提交
commit;
--執行產生客戶報表的sql
select t_map.order_id,t_map.orig_col
from deal_order,
t_map
where deal_order.order_id=t_map.order_id
order by t_map.orig_col;
SQL> --執行產生客戶報表的sql
SQL> select t_map.order_id,t_map.orig_col
2 from deal_order,
3 t_map
4 where deal_order.order_id=t_map.order_id
5 order by t_map.orig_col;
ORDER_ID ORIG_COL
--------------------------------------- ---------------------------------------
3 2
2 3
1 4
4 5
小結;
1,勤于思考很重要,絕對可以提高工作效率
2,藉助序列作為紐帶,實現客戶訂單號碼在執行sql查詢後順序不打亂
3,構建一箇中間表,作為序列工作的基礎
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-755036/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Excel查詢兩列資料相同的元素Excel
- PB帶引數帶結果集的動態SQL查詢SQL
- Sql_從查詢的結果集中分組後取最後有效的資料成新的結果集小記(待優化)SQL優化
- mysql查詢結果多列拼接查詢MySql
- excel查重是怎麼查的 excel表格怎麼查詢重複項Excel
- excel表格查詢功能在哪裡 excel表格怎麼快速查詢Excel
- SQL語句替換查詢結果的的寫法舉例SQL
- 如何分頁顯示資料庫查詢結果?資料庫
- SQL Server中Table字典資料的查詢SQL示例程式碼SQLServer
- Mybatis 查詢語句結果集總結MyBatis
- DBeaver的sql查詢結果突然不見了,怎麼辦?SQL
- JPA SQL 查詢、結果集對映(@NamedNativeQuery、@ColumnResult註解說明)SQL
- SQL語言_多表查詢和TOP限制結果集_PAGE3SQL
- [20190306]奇怪的查詢結果.txt
- Influxdb中Select查詢請求結果涉及到的一些資料結構UX資料結構
- Oracle中如何查詢未使用繫結變數的SQL語句?Oracle變數SQL
- WPS股票價格查詢EXCEL表格Excel
- SQL server資料庫with as子句與遞迴查詢的實現SQLServer資料庫遞迴
- SQL 查詢中的 NULL 值SQLNull
- 二維陣列中的查詢——牛客劍指offer陣列
- 如何利用mysql5.7提供的虛擬列來提高查詢效率MySql
- JAVA 中使用 SQL 語句查詢 EXCEL 檔案資料JavaSQLExcel
- go 如何處理資料庫返回的多結果集Go資料庫
- SQL Server實戰四:查詢資料庫的資料SQLServer資料庫
- GBase 庫中查詢表的列資訊
- 如何凍結excel指定行和列 表格怎麼同時凍結行和列的視窗Excel
- MaxCompute如何對SQL查詢結果實現分頁獲取SQL
- WinForm使用DataGridView實現類似Excel表格的查詢替換ORMViewExcel
- sql查詢是如何執行的?SQL
- PostgreSQL函式:返回表查詢結果集SQL函式
- DBeaver 匯出多個查詢結果集
- 在資料庫的查詢與更新中,CHARINDEX與instr的區別?資料庫Index
- 備忘:laravel 對查詢結果集可以迴圈where查詢Laravel
- 探究MySQL中SQL查詢的成本MySql
- C# dataGridView展示資料庫查詢結果C#View資料庫
- Flask入門資料庫的查詢集與過濾器(十一)Flask資料庫過濾器
- excel查詢快捷鍵是什麼 excel表格怎麼快速查詢Excel
- 如何使用大資料給客戶提供優質體驗大資料
- 記錄oracle中查詢資料0.xx結果為.xx的解決辦法Oracle