2013-09-30 28 views
0

我有2個表如何由表基於所述其它表列的順序

Table 1 
col1 col2 
---- ---- 
BLANK A 
D  A 
V  A 
BLANK B 
D  B 
V  B 

Table 2 
col1 col2 sex age 
---- ---- ---- ---- 
A  as  M 45 
A  sa  F 32 
A  asd F 45 
B  as  M 45 
B  sa  F 32 
B  asd F 45 

我的輸出應在像在表1的COL1每個值順序應與表2的值被重複和在順序和第二張表中,它應該按照Sex和女性的記錄進行排序,我們需要先按年齡排序。最後輸出表應該如下所示。

COL1 COL2 COL3 SEX AGE 
---- ----- ---- --- --- 
BLANK A as M 45 
BLANK A asd F 45 
BLANK A sa F 32 
D  A as M 45 
D  A asd F 45 
D  A sa F 32 
V  A as M 45 
V  A asd F 45 
V  A sa F 32 
BLANK B as M 45 
BLANK B asd F 45 
BLANK B sa F 32 
D  B as M 45 
D  B asd F 45 
D  B sa F 32 
V  B as M 45 
V  B asd F 45 
V  B sa F 32 

回答

0

如果你只是想沒有任何重複每個值的行連接標準,這樣的事情應該做的(雖然我不有Sybase來測試,這是相當簡單的SQL);

SELECT t1.col1, t1.col2, t2.col2 AS col3, sex, age 
FROM Table1 t1, Table2 t2 
ORDER BY t1.col1, sex DESC, age DESC 

An SQL Server SQLfiddle as a sample

編輯:在您編輯的問題後,我假設您想將t1.col2與相應的t2.col1配對,那麼此順序應該是正確的;

SELECT t1.col1, t1.col2, t2.col2 AS col3, sex, age 
FROM Table1 t1 
JOIN Table2 t2 
    ON t1.col2 = t2.col1 
ORDER BY t1.col2, t1.col1, sex DESC, age DESC 

Another SQLfiddle

+0

但它不會按照我提到的確切順序進行顯示,它按性別和年齡順序正確顯示。但我的主要標準是基於t1.col1排序 – Ramesh

+0

@Ramesh你能指出SQLfiddle中的順序錯誤嗎?我看不出你想要的結果有什麼不同。 –

+0

我現在編輯了我想要的輸出。請幫我解決 – Ramesh