我有一个t1表,表中有一个'foo'列,记录中有'bar'和'baz'列'foo'。我还有一个t2表,表中有“bar”、“baz”和“qux”列。我想做如下事情:
SELECT (SELECT foo from t1) FROM t2;
也就是说,从t1获取两个列名并查询t2的那些列。如果我尝试使用monetdb执行此操作,会收到一条错误消息:
cardinality violation (2>1)
所以,
有没有其他的方法来处理monetdb?
这在mysql中是可能的吗?其他数据库?
欢迎使用示例查询(或后跟查询的非查询指令)。
3条答案
按热度按时间rvpgvaaj1#
ms sql动态sql示例。
结果
或者可能是foo在不同的行中包含列名,从您的问题中不完全清楚。
flvlnr442#
这就是如何在SQLServer中完成的
ao218c7q3#
首先需要将列选择到变量中,然后使用该变量获取表
类似于以下内容(不是实际实现)
声明@colname varchar(250)
从t1中选择@colname=foo
从t2中选择@colname
这也许会有帮助。