SQLite:select语句中的子查询作为实际列名

时间:2016-11-26 12:29:47

标签: sql database sqlite subquery

我遇到了一个奇怪的情况,我完全陷入了这个荒谬的问题。

所以基本上我只想在Select子句中使用子查询来获取我想要设置的查询的列名。该查询是以下SQLite代码段:

select (select Year from t2) from t1
where "Country Name" LIKE 'Afghanistan' AND
"Indicator Name" LIKE 'Population. total'
;

(select Year from t2)部分返回t1(表1)的实列,这是一种数字类型。例如1960年或1976年。

因此,当我运行查询时,我希望子查询返回外部查询的列的值 - 但它不会以这种方式工作。

整个查询只返回一个带有名称的列(从t2中选择Year)和值1960(我希望将其作为表示真实列的select参数!)

如果有人能解决这个问题,我将非常感激。

编辑:

t1结构(这是一个非常庞大的世界人口表,有100k +行):

Country Name | Indicator Name      | 1960    | 1961 ...
------------------------------------------------
Afghanistan  | Population.  total  | 8456000 | 9201000

t2结构 :(只是一个包含1行代表搜索参数的小表)

Country     | Year | SearchType
---------------------------------
Afghanistan | 1960 | Population. total

我只是想获取价值' 1960'从这张桌子。

稍后在查询中(尚未实现,我还需要获取Country和SearchType)

0 个答案:

没有答案