新增多個TABLE查詢頁面

此範例中會介紹,利用OLTP資料來源建立一支查詢,並用JOIN的SQL語法將多個資料表關聯在一起,才能在同一個查詢畫面上呈現多個table所select出來的資料。
另外還會再介紹,多欄位的排序方式、Foreign Key設定、如何新增虛擬欄位和範圍條件。

頁面新增及命名等方式請參閱新增單一TABLE查詢頁面 - 新增查詢頁面

此章節介紹的功能包含:



塞圖

附註:

新增頁面時,將此查詢頁面顯示名稱命名為「訂單明細」。


編輯SQL:

此章節運用到的是多個Table做Select設計查詢。

如果已準備好SQL語法,可以在此處貼上語法即可。
也可在此處撰寫,輔助作法如下:

1. 在撰寫SQL語法處,切換至「資料表」,針對各Table所需欄位,滑鼠左鍵點擊2下帶入左邊SQL語法區。(共十一個欄位)

2. 由於是多個Table,因此需手動輸入JOIN TABLE的SQL語法。

Select 員工.姓名,
客戶.公司名稱,
訂貨明細.產品編號,
訂貨明細.單價,
訂貨明細.數量,
銷售產品資料.產品,
訂貨主檔.訂單日期,
訂貨主檔.訂單號碼,
訂貨主檔.客戶編號,
訂貨主檔.員工編號,
訂貨主檔.送貨地址
From 訂貨主檔
inner join 客戶 on 訂貨主檔.客戶編號 = 客戶.客戶編號
inner join 員工 on 訂貨主檔.員工編號 = 員工.員工編號
inner join 訂貨明細 on 訂貨主檔.訂單號碼 = 訂貨明細.訂單號碼
inner join 銷售產品資料 on 訂貨明細.產品編號 = 銷售產品資料.產品編號

塞圖

資料表選取欄位

資料表

選取欄位

員工

姓名

客戶

公司名稱

銷售產品資料

產品

訂貨明細

產品編號、單價、數量

訂貨主檔

訂單號碼、客戶編號、
員工編號、訂單日期、
送貨地址

附註:

切換至「資料表」時,若發現沒有任何資料表,請參考「建立一個新的資料來源」以匯入資料表。


新增虛擬欄位:

若資料面中可能會需要利用欄位相乘產生成一個新的欄位,我們可以透過新增一個虛擬的欄位來進行(相當於SQL語法的「AS」欄位),方便我們有額外的相關資訊可以呈現。

1.針對「欄位」右鍵選取「新增運算欄位」。

2. 調整名稱及標題為「金額」。

3. 點選運算公式右方的「編輯Script」圖示,展開「目前欄位」,以雙擊欄位的方式帶入「$數量$*$單價$」(運算符號可透過鍵盤輸入),並點選確定。

塞圖

4. 點選欄位並按住滑鼠左鍵拖曳可變更欄位順序。將「產品」拖曳至「產品編號」下方。

塞圖

新增查詢範圍條件:

1. 針對「客戶編號」欄位右鍵選擇「新增至單一條件」

2. 針對「訂單日期」欄位右鍵選擇「新增至範圍條件」

附註:

用範圍條件,系統預設會將運算式調整為>=及<=,而非單一條件的=。

塞圖

客戶編號條件 - Foreign key的設定方式:

若客戶編號成千上百家,使用者不可能記得這麼多的編號。但在資料庫中有一個資料表記錄客戶編號的清單,所以我們可以透過Foreign Key的功能,方便使用者瀏覽、挑選,避免因輸入條件錯誤而查詢不到資料。

操作步驟:

點選條件「客戶編號」,點選右上角「+新增屬性」,選擇「Foreign Key\自訂Foreign Key」。

1. 關聯資料表:下拉選「客戶」

2. 鍵值欄位:下拉選「客戶編號」

3. 鍵值標題:會自動帶入「客戶編號」(也可另外手動輸入)

4. 主參考欄位:下拉選「公司名稱」

5. 欄位標題:會自動帶入「公司名稱」(也可另外手動輸入)

6. 其他參考欄位:點「+」後,欄位下拉分別選地址、電話、聯絡人

塞圖 塞圖

設定排序方式:

在欄位排序時,有可能A今天想看的排序為某正排某反排,而B想看到的排序則都是反排。
在此情況下,IT人員可以事先建立多組的排序方式,以提供使用者挑選;若排序中沒有所需要的,我們也能透過「動態查詢」讓使用者自行排序。


1. 針對「Query1」右鍵選擇「排序方式」。

2. 開啟排序方式設計界面,請點選左上方「+新增」來新增2組排序,名稱分別叫「客戶編號(正)+訂單號碼(反)」、「客戶編號(正)+金額(反)」。

3. 排序時機針對第一組調整為「下SQL指令抓資料時以Order By來排序」,第二組調整為「組合資料集後,再指定排序欄位」

4. 第一組資料表請下拉選擇「訂貨主檔」,並挑選欄位「客戶編號」排序方式:正排&「訂單號碼」排序方式: 反排

5. 第二組資料表請下拉選擇「Query1」,並挑選欄位「客戶編號」排序方式:正排&「金額」排序方式: 反排,設定完後按下確定。

塞圖

點選左上角的儲存和預覽預覽,輸入過濾值再點選查詢按鈕;另可從下拉選單中選擇已設定好的排序方式。

塞圖


>> 下一支範例 - 現有SQL查詢


>> 點我移動至 群組報表範例

>> 點我移動至 多群組報表範例

>> 點我移動至 套用底稿範例

  關於我們   網站導覽 隱私權保護及著作權聲明   服務專線:(02)2726-0885