sql_ltax

SQL สำหรับ รันผ่าน โปรแกรม NAVICAT Query และโปรแกรมอื่นๆ ที่สามารถ รัน SQL ได้ 
โดยแก้ไข Config LTAX3000  ใน my.ini เพื่อเพิ่ม skip-grant-tables  ในการเข้าใช้งานหลังบ้าน Ltax 3000

– ตรวจสอบการใช้ประโยชน์ ที่ดิน ว่าครบถ้วนหรือถูกต้องหรือไม่ อย่างไร 
set @yr1 = 2564 ;
select X1.*,X2.area_used,if(area_land = area_used,’OK’, ‘X’) CHK from
(select lid,_parcel_code,_dn,r*400+y*100+w area_land
from land where annual = @yr1) X1
LEFT JOIN
(select lid lid1,sum(u_r*400+u_y*100+u_w) area_used
from landused GROUP BY lid ) X2 on X1.lid = X2.lid1 ;

– ลบข้อมูล ปีที่ไม่ต้องการออกจากฐาน โดยปีที่ต้องการให้คงไว้ คือ 2564

# ปีที่ต้องการ เอาไว้ ปีอื่นๆ ลบออกจากฐาน
set @yr =’2564′ ;
delete from land where annual <> @yr ;
delete from landused where lid not in
(select lid from land) ;
delete from land_owner where lid not in
(select lid from land) ;
delete from land_owner where owner_id not in
(select owner_id from owner ) ;
delete from land where lid not in
(select lid from land_owner) ;
delete from building where oid not in
(select owner_id from owner ) ;

ตรวจสอบฐานข้อมูล Ltax 3000 รันทีละคำสั่ง 

set @yr = 2566 ;
set @mtot = (select count(*) mtot from owner) ;
set @ltot = (select count(*) ltot from land where annual = @yr ) ;
set @btot = (select count(*) btot from building where annual = @yr ) ;
set @stot = (select count(*) stot from signboard where annual = @yr ) ;

select @yr annual,@mtot OWNER,@ltot LAND ,@btot BUILDING,@stot signboard;

select left(_parcel_code,3) ZoneCode , count(*) ptot from land
group by left(_parcel_code,3) ;

// ลบที่ดินที่มีการซ้ำซ้อน ออก
select * from
(select * from ltax.land WHERE (_parcel_code is not null ) and (_parcel_code<>”) ) o1
LEFT JOIN (select _parcel_code,_dn from ltaxjunn.land) o2 on o1._parcel_code = o2._parcel_code and o1._dn=o2._dn
where o2._parcel_code is not null ;

// land dup
create table land1
select * from land
group by l_type,_dn ;

// ดูว่าที่ดินใดบ้างที่มีบ้าน และที่ดินใดบ้างที่ไม่มีบ้าน ประยุกต์ ที่ดินใดบ้างไม่ได้กำหนดการใช้ประโยชน์
set @yr1:= (select annual from annual where current =1 ) ;
select o1.lid,if(o2.ref_lid is null,’0′,’1′) flags from land o1
LEFT JOIN (select bid,ref_lid from building ORDER BY ref_lid) o2 on o1.lid = o2.ref_lid
where annual = @yr1 ;

Scroll to top