SQL选择递增ID中的位置

SQL选择递增ID中的位置,sql,filemaker,Sql,Filemaker,我需要像这样在select中增加一个静态值 SELECT 'id-?' , field FROM table WHERE field IN (SELECT field FROM table2) 所以“?”表示静态值“id”从0到x的递增数 所以结果应该是这样的 id-1 AAA id-2 BBB id-3 CCC 其中第一个值(加上计数器)是静态值,第二个值来自数据库 请试试这个 select field , 'id-' + convert(varchar(10)

我需要像这样在select中增加一个静态值

SELECT 'id-?' , field FROM table WHERE field IN (SELECT field FROM table2)
所以“?”表示静态值“id”从0到x的递增数

所以结果应该是这样的

id-1   AAA
id-2   BBB
id-3   CCC
其中第一个值(加上计数器)是静态值,第二个值来自数据库

请试试这个

select field
        , 'id-' + convert(varchar(10), row_number() over (Order by field))
from table1 where field in (select field from table2)
您似乎想要:

select ('id-' || cast(row_number() over order by field)) as id, field 
from table 
where field in (select field from table2);
这使用ANSI标准语法。具体语法可能因数据库而异。

试试这个

SELECT 'id-' + CONVERT(VARCHAR(10), ROW_NUMBER() OVER (ORDER BY field)), field 
FROM table 
WHERE field IN (SELECT field FROM table2)
如果与FileMaker ProExecuteSQL()一起使用,则行号是无效函数。SQL函数集是有限的。建议创建一个计算= 获取(记录编号)
并在查询中使用该字段。

查看FileMaker社区上的以下线程:


您需要添加一个额外的计算字段,如@user9669471所述,id-x值的列名是什么?最简单的方法是使用Row_Number函数并对其进行分类。用您正在使用的数据库标记您的问题。my DBS及其Filemaker没有标记。