2013-05-28 2 views
0

안녕하세요 데이터베이스에 커밋하는 데 문제가 있습니다. 필자는 Firebird SQL을 처음 접했습니다. 하지만 테이블을 생성 한 다음 커밋하고, 삽입하고, 커밋하고, 데이터를보고, 테이블을 삭제 한 다음 다시 커밋하는 쿼리가 있습니다. 한 번만 실행 단추를 누르십시오 어디서 동적으로 할 노력하고 그것을 통해 그냥. 그렇게 할 수있는 방법이 있습니까? 이것은 쿼리입니다.테이블을 만들고 커밋 한 다음 테이블을 커밋하고 놓는 방법은 무엇입니까?

create table bp_customCollections(
     part_number varchar(255) 
     ,part_description varchar(255) 
     ,guided_reading_level varchar(255) 
     ,lexile_level varchar(255) 
     ,nonfiction_fiction varchar(255) 
     ,on_hand varchar(255) 
     ,default_vendor varchar(255) 
     ,language varchar(255) 
     ,product_price varchar(255) 
     ) 

commit 

insert into bp_customcollections(part_number, part_description,guided_reading_level,lexile_level,nonfiction_fiction, on_hand, default_vendor,language,product_price) 
SELECT DISTINCT 
part.num 
,part.description 
,COALESCE(grlmin.info,'Undefined') 
,getLexile.lexile_level 
,COALESCE(fnf.info,'') 
,SUM(tag.qty) 
,vendor.name 
,customvarcharlong.info 
,cast(product.price as decimal(10,2)) 

FROM PART 

LEFT JOIN customset AS grlmin ON grlmin.recordid = part.id AND grlmin.customfieldid = 51 -- guided reading level minimum 
LEFT JOIN getLexile on getLexile.lexile_partid = part.id and getLexile.lexile_partid = 61 -- lexile level 
LEFT JOIN vendorparts on vendorparts.partid = part.id 
LEFT JOIN vendor on vendor.id = vendorparts.vendorid 
LEFT JOIN customset AS fnf on fnf.recordid = part.id AND fnf.customfieldid = 47 -- fiction/nofiction 
LEFT JOIN tag on part.id = tag.partid 
LEFT JOIN customvarcharlong on customvarcharlong.recordid = part.id and customvarcharlong.customfieldid = 56 -- language 
LEFT JOIN product on product.partid = part.id 
LEFT JOIN customset as resourceType on resourcetype.recordid = part.id 
where vendorparts.defaultflag = 1 
and resourcetype.info = 'Book' 
GROUP BY part.num,part.description, COALESCE(grlmin.info,'Undefined'), COALESCE(fnf.info,''),getLexile.lexile_level, vendor.name, customvarcharlong.info,product.price 
HAVING SUM(tag.qty) > 0 

commit 


select * from bp_customcollections 
order by part_number 

drop table bp_customCollections 
commit 
+0

왜 당신은 단순히 선택 쿼리를 실행하지 마십시오? –

+0

조금 쓸모 없거나 적어도 너무 복잡하게 들리는 이유는 무엇입니까? –

답변

1

필요하면 언제든지보기를 만들고 쉽게 선택할 수 있습니까? 다음

create view vw_customCollections as 
SELECT DISTINCT 
part.num 
,part.description 
,COALESCE(grlmin.info,'Undefined') 
,getLexile.lexile_level 
,COALESCE(fnf.info,'') 
,SUM(tag.qty) 
,vendor.name 
,customvarcharlong.info 
,cast(product.price as decimal(10,2)) 
FROM PART 
LEFT JOIN customset AS grlmin ON grlmin.recordid = part.id AND grlmin.customfieldid = 51 -- guided reading level minimum 
LEFT JOIN getLexile on getLexile.lexile_partid = part.id and getLexile.lexile_partid = 61 -- lexile level 
LEFT JOIN vendorparts on vendorparts.partid = part.id 
LEFT JOIN vendor on vendor.id = vendorparts.vendorid 
LEFT JOIN customset AS fnf on fnf.recordid = part.id AND fnf.customfieldid = 47 -- fiction/nofiction 
LEFT JOIN tag on part.id = tag.partid 
LEFT JOIN customvarcharlong on customvarcharlong.recordid = part.id and customvarcharlong.customfieldid = 56 -- language 
LEFT JOIN product on product.partid = part.id 
LEFT JOIN customset as resourceType on resourcetype.recordid = part.id 
where vendorparts.defaultflag = 1 
and resourcetype.info = 'Book' 
GROUP BY part.num,part.description, COALESCE(grlmin.info,'Undefined'), COALESCE(fnf.info,''),getLexile.lexile_level, vendor.name, customvarcharlong.info,product.price 
HAVING SUM(tag.qty) > 0 

:

select * 
from vw_customCollections 
order by part_number 
관련 문제