请帮助我实现以下方案。
select * from pmdl;
PROPERTY_NAME VALUE
------------- ----------
profile 1010
select (select value from pmdl where property_name='profile') as value from dual;
- >>我得到了1010的价值
从pmdl中选择*; 没有选择行
select (select value from pmdl where property_name='profile') as value from dual;
- >>如果记录不存在,我将获得NULL值。
我必须在多个记录中实现同样的目标。
PROPERTY_NAME VALUE
------------- ----------
profile 1010
profile 1020
select (select value from pmdl where property_name='profile') as value from dual;
由于返回多条记录而导致误差低于此值。
ORA-01427:单行子查询返回多行 01427. 00000 - “单行子查询返回多行” *原因:
*操作:
如何检索多条记录。
答案 0 :(得分:0)
尝试这种方式:
select value from pmdl where property_name='profile'
union
select max(value) from pmdl where property_name='profile'
如果pmdl
没有记录,则第二个查询将返回null。
如果第一个查询返回的某些数据超过union
,则会从第二个查询中删除重复项。
答案 1 :(得分:0)
这是一个示例,其中UNION中的第一个SELECT是返回一些东西。如果没有,则第二个SELECT将返回NULL。外部SELECT仅强制其中一行返回。你每次都要坚持不懈。
SELECT TOP 1 WITH TIES tbl1.*
FROM (SELECT TOP 1 tnok1.TETNokCommID, tnok1.TETID, tnok1.LastSentDate
FROM tblTETNOKcomms AS tnok1
WHERE tnok1.TETID = 39
UNION
SELECT NULL, NULL, NULL) AS tbl1
ORDER BY 3 DESC