Forum

birden fazla tablod...
 
Bildirimler
Hepsini Temizle

birden fazla tabloda join -

2 Yazılar
2 Üyeler
0 Reactions
560 Görüntüleme
(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

Arkadaşlar aşağıdaki sql kodumda 6 adet tablo bulunmaktadır. Bunlardan ana tablo diye hitap ettiğim tablo IASMRPPLN tablosudur. Ben bu tablonun tüm bilgilerini alıp diğer tablolardan da eşleştirip uygun verileri alıyorum. SQL kodum şu anda çalışıyor, fakat aşağıdaki istediğim gibi aldıramıyorum.
INTO TMP... bu kod TMP... tablosuna istediğim bilgileri yazdırıyor. Yapı biraz değişik gelebilir.

SELECT TOOLNUM FROM IASROURES - Kalıp numarasını getiriyor.

SELECT TOON FROM IASWORKCENT - Tonaj miktarını getiriyor.

Tasarladığım formdan gelen kalıp numarasının değişkeni KLPNO
Tasarladığım formdan gelen kalıp numarasının değişkeni EDTOON

KLPNO dan % gelirse ürünün kalıp numrası olsun olmasın hepsi ekrana gelsin.
EDTOON dan % gelirse ürünün tonaj miktarı olsun olmasın hepsi ekrana gelsin.

KLNP dan 765 geldiğinde sadece KLPNO = 765 ile ilgili ürünün diğer bilgileri gelsin.
EDTOON dan 65 geldiğinde sadece EDTOON = 65 ile ilgili ürünün diğer bilgileri gelsin.

Diğer tablolarda başka bilgiler tutuluyor. umarım anlatabilmişimdir. İyi çalışmalar.


 


PARAMETERS :
 STRING    PCOM,
 STRING    PPLA,
 STRING    PMAT,
 STRING    PORN,
 DATE      PDLV,
 DATE      PDLVEND,
 STRING    PMTX,
 STRING    PPLN,
 INTEGER   PDEL,
 INTEGER   PREL,
 STRING ORDERTYP,
 STRING ORDERNMBR,
 STRING PMATTYPE,
 STRING PWC,
 STRING STRKLPNO,
 STRING STREDTOON;


OBJECT:
 STRING SELCRI;


SELECT A.*, '' AS VOPTIONSDESC, '' AS DEFWORKCENT, '' AS NOWCAP,
         '' AS ALLCAP, A.RELEASEDATE AS REPRDDATE, R.TOOLNUM, W.TOON, H.CCOLOR
        FROM
IASMRPPLN A
LEFT OUTER JOIN IASMATBASIC B ON (A.MATERIAL = B.MATERIAL)
LEFT OUTER JOIN IASMATMOP C ON (A.MATERIAL = C.MATERIAL)
LEFT OUTER JOIN IASBOMHEAD H ON(A.MATERIAL = H.MATERIAL
 AND A.CLIENT =H.CLIENT
 AND A.COMPANY= H.COMPANY
 AND A.PLANT = H.PLANT
 AND A.ALTERNUM = H.ALTERNUM)

LEFT OUTER JOIN IASROURES R ON (
A.CLIENT = R.CLIENT
AND A.COMPANY = R.COMPANY
AND A.PLANT = R.PLANT
AND A.MATERIAL = R.MATERIAL
AND A.MATERIAL = R.ROUNUM )


LEFT OUTER JOIN IASWORKCENT W ON (
A.CLIENT= W.CLIENT
AND A.COMPANY = W.COMPANY
AND A.PLANT = W.PLANT
AND A.WORKCENTER = W.WORKCENTER
)
        WHERE A.CLIENT = SYS_CLIENT
                AND A.COMPANY LIKE PCOM
                AND A.PLANT LIKE PPLA
                AND A.MATERIAL LIKE PMAT
                AND A.ORDERNUM LIKE PORN
                AND A.MTEXT LIKE PMTX
                AND A.DELIVERYDATE >= PDLV
                AND A.DELIVERYDATE < PDLVEND
                AND A.ISDELETE = PDEL
                AND A.PLANNER LIKE PPLN
                AND A.CUSTORDERTYPE LIKE ORDERTYP
                AND A.CUSTORDERNUM LIKE ORDERNMBR
                AND B.MATTYPE LIKE PMATTYPE
                AND C.WCCONTROLLER LIKE PWC
                AND R.TOOLNUM LIKE STRKLPNO
        ORDERBY A.COMPANY, A.PLANT, A.ORDERNUM, A.MATERIAL, A.DELIVERYDATE
        INTO TMPMRPPLN;

 
Gönderildi : 20/11/2009 20:24

(@GokhanDOGAN)
Gönderiler: 780
Prominent Member
 

Merhaba

Bir program üzerinde mi yapacaksın bunu ? soru yeterlince net olmamış, anladığım kadarı ile cevaplayayım..

query üzerinde where KLPNO =33  gibi kullanıp belli kaydı bulabilirsin, tüm kayıdı where koşulunu kaldırıp dökebilirsin.

 
Gönderildi : 24/11/2009 01:52

Paylaş: