2016-07-23 142 views
-1

我想用別名進行查詢,但需要將可更改的別名作爲名稱。 例如,這是簡單的查詢:如何使選擇查詢別名查詢-mysql或postgresql或sqlite

"SELECT col1 AS 'first name' , col2 AS 'second name' FROM my_table "; 

現在我需要像下面的變化結果:

"SELECT 
col1 AS ("SELECT difin FROM languge WHERE word = 'col1' "), 
col2 AS ("SELECT difin FROM languge WHERE word = 'col2' ") 
FROM my_table " 

我想補充的功能,但之後「AS」不能接受任何語法。

+0

你能分享你試圖使功能? –

+0

請提供樣本數據和預期結果。因爲,很難理解你正在嘗試做什麼。 – sgeddes

+0

您正在尋找的是動態SQL。例如在PostgreSQL中,你可以不直接使用SQL(它不像其他開源系統那樣實現),而是使用PL/pgSQL語言(參見[manual](https://www.postgresql.org/)文檔/ 9.5 /靜態/ PLPGSQL-statements.html),節「40.5.4。執行動態命令」後面的頁面。 – Renzo

回答

0

如果我正確理解你的問題,這是一個使用多個joins一個選項:

select l.difin col1, 
     l2.difin col2 
from my_table t 
     join language l on t.col1 = l.word 
     join language l2 on t.col2 = l2.word 

根據你的數據,你可能需要使用一個outer join代替。

0

在這裏我做了下面的例子。

Sample1 Sample2