我需要在像这样的选择中增加一个静态值
SELECT 'id-?' , field FROM table WHERE field IN (SELECT field FROM table2)
所以"?"表示从0到x的向上计数,表示静态值" id"。
所以结果应该是
id-1 AAA
id-2 BBB
id-3 CCC
第一个值(加上计数器)是静态值,第二个值来自数据库。
答案 0 :(得分:1)
ROW_NUMBER是无效功能。 SQL函数集是有限的。建议是创建一个计算= 获取(RecordNumber) 并在查询中使用该字段。
答案 1 :(得分:0)
请试试这个
select field
, 'id-' + convert(varchar(10), row_number() over (Order by field))
from table1 where field in (select field from table2)
答案 2 :(得分:0)
您似乎想要:
select ('id-' || cast(row_number() over order by field)) as id, field
from table
where field in (select field from table2);
这使用ANSI标准语法。具体语法可能因数据库而异。
答案 3 :(得分:0)
在FileMaker社区上查看此主题:https://community.filemaker.com/thread/74404
您需要添加@ user9669471
所述的额外计算字段答案 4 :(得分:-1)
试试这个
SELECT 'id-' + CONVERT(VARCHAR(10), ROW_NUMBER() OVER (ORDER BY field)), field
FROM table
WHERE field IN (SELECT field FROM table2)