2016-07-23 102 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