我想在同一张表中选择另一列的特定值后对一列进行过滤,我尝试使用@...
特殊字符后跟列名来获取该值的地址。
我的 SQL 语句如下所示:
SELECT ATTRIBUTE FROM TABLE WHERE FIELD = '@FIELDNAME';
如果我使用特定值而不是@FIELDNAME
,它将正常工作,但它将是静态的,但我需要它基于所选值是动态的。
我想在同一张表中选择另一列的特定值后对一列进行过滤,我尝试使用@...
特殊字符后跟列名来获取该值的地址。
我的 SQL 语句如下所示:
SELECT ATTRIBUTE FROM TABLE WHERE FIELD = '@FIELDNAME';
如果我使用特定值而不是@FIELDNAME
,它将正常工作,但它将是静态的,但我需要它基于所选值是动态的。
创建另一个表,该表将包含 FIELDNAME 中的值列表,并为每条记录提供一个唯一的 id,然后根据您选择的新表字段名称检索值,前面带有“@...”
我不知道您是否在寻找什么,请告诉我。
如果不允许触发器,表中是否有任何date/time
列?是否有可能有额外的列来查看新插入行的时间?
您可能必须检查输入的最后一行,将其field
值保存到变量中。然后select
根据变量值进行。
根据模糊的最后一行 id,您可以尝试以下方法(它不漂亮)。但同样,如果您有更准确的日期/时间。
select attribute from table
where field = (select field from table
where rowid =(select max(rowid) from table))
;
upate 您是否有权设置您的插入命令,如下所示:
insert into table (id, col1, col2,...) values (1,'something', 'something',...)
returning id into variable; -- you may either save field or id depending on your table
然后您可以使用它variable
来选择您想要的记录。