我想采用单字符串查询响应来填充另一个查询中的SELECT语句。有些人说这是不可能的,但Redshift使我们所有人都变得愚蠢。
想象一下,我有一个表day_of_week如下:
Day of Week | Weekend
---------------------
Monday | No
Tuesday | No
Wednesday | No
Thursday | No
Friday | No
Saturday | Yes
Sunday | Yes
另一个派对时间如下:
Yes | No
--------------------------
All the time | None of the time
我想允许某人告诉我一天(例如,"星期三和#34;)然后使用生成的周末值来查询party_time。
例如
SELECT (SELECT Weekend FROM day_of_week WHERE "Day of Week" = 'Wednesday')
FROM party_time
结果:'没有时间'
如何?
答案 0 :(得分:1)
SQL本身不是动态/自引用的,尽管大多数实现都有某种元语言可以部分解决这个问题。
对您的问题最明显的解决方案是更改table party_time:
Test Meaning
--------------------------
Yes All the time
No None of the time
然后您可以使用联接或子选择来获得答案:
select meaning
from party_time
inner join day_of_week
on weekend = test
where Day_of_Week = 'Wednesday'