動態創建數據窗口時省略表名的方法
在使用synatax動態創建數據窗口時,如果我們關聯了兩個表,生成的列明會變爲"表名_列名"的格式,但可能有時候又變爲了僅"列名"的格式,很是困擾
如果我們在設計數據庫時已經保證每個表的字段名稱是唯一的,那麼可以使用下面的方法進行處理,例如有兩個表
CREATE TABLE T_MASTER(
MASTER_NO VARCHAR(10) NOT NULL,
MASTER_MEMO VARCHAR(255) NULL
)
CREATE TABLE T_DETAIL(
DETAIL_NO VARCHAR(10) NOT NULL,
DETAIL_DNO VARCHAR(10) NOT NULL,
DETAIL_MEMO VARCHAR(255) NULL
)
如果使用一般的語法動態創建數據窗口時,不管是使用
SELECT MASTER_NO,MASTER_MEMO,DETAIL_DNO,DETAIL_MEMO FROM T_MASTER,T_DETAIL WHERE MASTER_NO = DETAIL_NO
還是使用
SELECT T_MASTER.MASTER_NO,T_MASTER.MASTER_MEMO,T_DETAIL.DETAIL_DNO,T_DETAIL.DETAIL_MEMO FROM T_MASTER,T_DETAIL WHERE MASTER_NO = DETAIL_NO
數據窗口列可能變爲
T_MASTER_MASTER_NO,T_MASTER_MASTER_MEMO,T_DETAIL_DETAIL_DNO,T_DETAIL_DETAIL_MEMO
這是因爲PB爲了避免列名重複而採用的一種命名方法,但這樣就給我們實際應用時帶來一定的小障礙,避免的方法也較簡單,改寫一下SQL語句即可
SELECT MASTER_NO,MASTER_MEMO,DETAIL_DNO,DETAIL_MEMO FROM (T_MASTER INNER JOIN T_DETAIL ON MASTER_NO = DETAIL_NO) WHERE ....
數據窗口列可能變爲
MASTER_NO,MASTER_MEMO,DETAIL_DNO,DETAIL_MEMO
注意
(1)INNER JOIN,不要擔心這個市SQL92規範,幾乎所有數據庫都支持,放心使用,它同平常書寫的方式可以等價轉換。
(2)括號,一定不能省略,否則不起作用。只有這樣,PB纔會認爲(分析爲)是一個表
如果我們在設計數據庫時已經保證每個表的字段名稱是唯一的,那麼可以使用下面的方法進行處理,例如有兩個表
CREATE TABLE T_MASTER(
MASTER_NO VARCHAR(10) NOT NULL,
MASTER_MEMO VARCHAR(255) NULL
)
CREATE TABLE T_DETAIL(
DETAIL_NO VARCHAR(10) NOT NULL,
DETAIL_DNO VARCHAR(10) NOT NULL,
DETAIL_MEMO VARCHAR(255) NULL
)
如果使用一般的語法動態創建數據窗口時,不管是使用
SELECT MASTER_NO,MASTER_MEMO,DETAIL_DNO,DETAIL_MEMO FROM T_MASTER,T_DETAIL WHERE MASTER_NO = DETAIL_NO
還是使用
SELECT T_MASTER.MASTER_NO,T_MASTER.MASTER_MEMO,T_DETAIL.DETAIL_DNO,T_DETAIL.DETAIL_MEMO FROM T_MASTER,T_DETAIL WHERE MASTER_NO = DETAIL_NO
數據窗口列可能變爲
T_MASTER_MASTER_NO,T_MASTER_MASTER_MEMO,T_DETAIL_DETAIL_DNO,T_DETAIL_DETAIL_MEMO
這是因爲PB爲了避免列名重複而採用的一種命名方法,但這樣就給我們實際應用時帶來一定的小障礙,避免的方法也較簡單,改寫一下SQL語句即可
SELECT MASTER_NO,MASTER_MEMO,DETAIL_DNO,DETAIL_MEMO FROM (T_MASTER INNER JOIN T_DETAIL ON MASTER_NO = DETAIL_NO) WHERE ....
數據窗口列可能變爲
MASTER_NO,MASTER_MEMO,DETAIL_DNO,DETAIL_MEMO
注意
(1)INNER JOIN,不要擔心這個市SQL92規範,幾乎所有數據庫都支持,放心使用,它同平常書寫的方式可以等價轉換。
(2)括號,一定不能省略,否則不起作用。只有這樣,PB纔會認爲(分析爲)是一個表
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.