2012-02-21 38 views
0

嗨,我正在創建psql報告,並在一分鐘我有兩個單獨的報告做同樣的事情比1以外有一個額外的列。PSQL腳本,根據變量執行不同的選擇

這些腳本將一個視圖安裝到數據庫中,一些php前端使用該數據庫來很好地顯示報告。

我想將兩者結合起來,並想知道如果它是可以做到的觀點裏面以下,所以它被執行每次點擊報告時間:

IF(access.accessname = 'UNBLINDED') 
    SELECT s.site, s.type, s.name etc 
ELSE IF(access.accessname = 'BLINDED') 
    SELECT s.site, s.name etc 

或者,如果不能夠任何人想更好的方式來做我目前正在做的兩個不同的腳本?

感謝您的幫助處理參數數據集

回答

2

一種常見的方法是創建用戶定義的函數。該移動數據的邏輯數據層以及允許應用程序只需在一個參數傳遞(即:SELECT * FROM new_user_function(access.accessname)

谷歌可以幫您找到詳細的例子和教程,這樣可以幫助你開始: http://wischner.blogspot.com/2009/03/creating-stored-procedure-function.html

祝你好運! 〜Rose

+0

謝謝,我知道我應該做一個功能。我只是很難理解這些教程。我想要做的只是執行一些簡單的選擇,但一個選擇應該包含一個額外的列,具體取決於access.accessname。對不起,我是一個noob :( – 2012-02-21 17:18:18

+0

你在哪裏迷失在教程?也許我可以幫助澄清。 – Rose 2012-02-21 17:33:42

+0

嗯,我不知道我是否應該返回任何東西,或者我只是從字面上做功能選擇和如何實際調用我的函數我是否將函數存儲在數據庫中的其他位置,並在我的視圖中調用該函數或者函數和調用是否進入視圖?感謝您的幫助 – 2012-02-21 17:36:26