当前位置:首页 » 编程语言 » 求一条sql语句
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

求一条sql语句

发布时间: 2022-12-16 09:19:02

① 求一sql语句

例如表名为:procts_tj
SELECT A.TIME,A.NAME,B.procts
FROM (
SELECT MAX(time) AS TIME
,name AS NAME
FROM procts_tj
GROUP BY name )A
LEFT JOIN procts_tj B
ON A.TIME = B.TIME
AND A.NAME = B.NAME
WHERE 1 = 1
ORDER BY NAME DEC

基本上就是这样了,先找到最大日期,然后后面的再补充

② 求一条SQL语句

SELECT H.Pcd_Id,D.Pcd_Pro_Id,D.Pcd_Price,D.Pcd_GetIn_Num,H.Pch_Check_Date
FROM Proct_Check_Head H JOIN Proct_Check_Detail D ON H.Pcd_Id = D.Pcd_Id
JOIN(
SELECT D.Pcd_Pro_Id,MAX(M.Pch_Check_Date) AS Pch_Check_Date
FROM Proct_Check_Head H JOIN Proct_Check_Detail D ON H.Pcd_Id = D.Pcd_Id
GROUP BY D.Pcd_Pro_Id
) AS T ON D.Pcd_Pro_Id = T.Pcd_Pro_Id AND H.Pch_Check_Date = T.Pch_Check_Date

我也是做进销存系统的,QQ:316784428
SQL爱好者,技术相互交流!

③ 求一条SQL语句

这个是用动态SQL实现的
declare
v_sql varchar2(4000);
cursor c is select id from temp_006 order by id asc;
cursor d is select column_name from user_tab_cols where table_name like 'TEMP_006' order by column_id desc;
v_id varchar2(10);
v_col varchar2(50);
begin
v_sql:='select ';
open d;
fetch d into v_col;
v_sql:=v_sql||''''||v_col||''' as ';
fetch d into v_col;
v_sql:=v_sql||v_col;
close d;
open c;
loop
fetch c into v_id;
exit when c%notfound;
v_sql:=v_sql||',(select va from temp_006 where id ='||v_id||') as "'||v_id||'"';
end loop;
close c;
v_sql:=v_sql||' from al';
dbms_output.put_line(v_sql);
end;
执行这个块生成一句SQL,执行下就能得出你要的结果.

ps:有些过程看起来很简单,但是程序实现却特别复杂,这个是由于关系数据库的底层结构所决定的,所以我们要尽量扬长避短,如果有其他方式可以简单实现的话(如excel的行列转换)就别用这种复杂的方法.

④ 求一条SQL语句

是否能确保B表中的名字在A表中是唯一的

如果可以的话

updatebsetid=(selectidfromawherea.name=b.name)

⑤ 求一条SQL语句

套用上面回答者的甲骨文的sql语句:在ms-sql中 isnull()函数可以代替oracle的nvl()函数即可。改为ms-sql为:

select distinct t1.货品资料, isnull( t1.出库编号, t2.出库编号) as 出库编号,isnull(t1.入库编号,t2.入库编号) as 入库编号 from Table t1, Table t2 where t1.货品资料=t2.货品资料and isnull(t1.出库编号,t2.出库编号) is not null and isnull(t1.入库编号,t2.入库编号) is not null

⑥ 求一条sql语句

select a.processtype,a.日期,sum(a.数量) from
(select processtype,to_char(edite,'YYYYMMDD') 日期,count(1) 数量 from itf_zytb_exch group by processtype,to_char(edite,'YYYYMMDD')) a,
(select processtype,to_char(edite,'YYYYMMDD') 日期,count(1) 数量 from itf_zytb_exch group by processtype,to_char(edite,'YYYYMMDD')) b
where a.processtype=b.processtype
and a.日期>=b.日期
group by a.processtype,a.日期;

说明一下:把你上边写的查询当成两个查询,如果第二个查询的日期小于等于第一个查询,并且名字一样的话,就把之前的天数的值相加

还有一个,你最后要的结果好像少了一行

⑦ 求一条SQL语句

sql="select * from A表 where type_id="&Request.QueryString("id")

sql="select * from B表 where type_id="&Request.QueryString("id")

sql="select * from C表 where type_id="&Request.QueryString("id")

⑧ 求一条sql语句

select b.orders_id from orders as a , orderinf as b where a.orders_id=b.orders_id and a.status=1 group by b.orders_id having sum(sorting_state)=0

⑨ 求一条sql语句

语句如下:

insert into member(id,avatar2,avatar3,avatar4)

SELECT aa.memberid ,

MAX(CASE WHEN aa.num = 1 THEN aa.pic ELSE 0 END ) avatar2,

MAX(CASE WHEN aa.num = 2 THEN aa.pic ELSE 0 END ) avatar3,

MAX(CASE WHEN aa.num = 3 THEN aa.pic ELSE 0 END ) avatar4

FROM (select (@num := @num+1) as num, memberid,pic from moment,

(select @num := 0) as t1 where memberid = 100 limit 3) aa

GROUP BY aa.memberid;

执行效果如下: