我的查询一直返回ORA-01427错误,如何解决它请
我有3个表:T1有(idA,B)列,B类型日期 T2带(idC,D)列,D型varchar 带有(idE,F,G,....)列,F类型日期,G类型varchar,idE(DBsquences),F和G的T3是主键。
我想插入T3,来自T1和T2的数据
我的查询:
insert into T3 (F, G) values ((select B from T1 where max(B)), ( select D from T2));
我得到:ORA-01427错误单行子查询返回多行。
我如何用光标做到这一点?
T1:
idA B
------------
1 date1
2 date2 (the max date)
3 date3
T2:
idC D
----------
1 x
2 y
3 z
. .
. .
. .
n N
Result must be:
T3:
idE F G
-----------------------
1 date2 y
2 date2 z
. . .
. . .
. . .
. . .
n date2 N
答案 0 :(得分:2)
如果我理解你的话:
<?php $news = new WP_Query( array( 'posts_per_page' => 999, 'order' => 'ASC' ) ); $previous_post_month = ''; ?>
<?php while ( $news->have_posts() ) : $news->the_post();
$this_post_month = date( "M",strtotime( the_date( '', '', '', false) ) );
if( $this_post_month != $previous_post_month)
echo '<h1>' . $this_post_month . '</h1>';
?>
<div class="testi-archive-list">
<a href="<?php the_permalink()?>"/> <h2><?php the_title(); ?></h2></a>
</div>
<?php $previous_post_month = $this_post_month;
endwhile ?>
如果您从select中插入值,则不需要INSERT INTO T3 (F, G)
SELECT (select max(B) from T1), D
FROM T2
关键字,但您应该只使用1个查询。它不是有效的条件 - values
。您无法在where max(B)
中使用群组功能,只能使用WHERE
。你应该像HAVING
那样做一个条件。如果要选择最大值,只需在max(B) = something