Sayfayı Yazdır | Pencereyi Kapat

reçete listesi

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: SQL
Forum Adı: SQL Veri Tabanı İşlemleri
Forum Tanımlaması: Table,View,Trigger,SELECT,UPDATE,INSERT...
URL: http://www.erpne.org/forum_posts.asp?TID=4064
Tarih: 23 Kasım 2024 Saat 05:22
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: reçete listesi
Mesajı Yazan: skocabacak
Konu: reçete listesi
Mesaj Tarihi: 07 Mayıs 2015 Saat 17:04
Arkada?lar merhaba 

sql de view hazyrlamak istiyorum . bir mamule ait reçeteyi ve alt yary mamullerini ayny kolonda görmem için nasyl bir sql cümlesi yazmam lazym





Cevaplar:
Mesajı Yazan: mbaykan
Mesaj Tarihi: 07 Mayıs 2015 Saat 20:05
bu view'la ne yapacaksynyz?
Mamul Kodu, HamMd Kodu
100,2001 ham mad-1
100,2002 ham mad-2
100,300 y.mamul-1
100,301 y.mamul-2
300,2003 ham mad-3
300,400 y.mamul
301,2004 ham mad.
400,2005 ham mad.

yukaryda 3 seviyeli 100 kodlu mamaul recetesi var istedi?iniz böyle bir listemi? (detaylary atladym.)
ilk 4 satyry listeleyecekseniz. Serbest Rapordan alabilirsiniz. STOKURM view'yndan



-------------
Mehmet Baykan


Mesajı Yazan: skocabacak
Mesaj Tarihi: 08 Mayıs 2015 Saat 10:37
selam
mamul kodu girdi?imde ayny kolonda yary mamul kodlaryny ve hammadde kodlarynyda ayny kolonda verecek
sql de sub query gerekiyo diye dü?ünüyorum ama ben yapamadym 

select
t1.mamul_kodu,
t2.stok_adi,
t1.ham_kodu,
t3.stok_adi as ham_adi,
t1.miktar,
t3.olcu_br1,
t4.fiyat,
t1.miktar*t4.fiyat as maliyet
from
tblstokurm t1 inner join tblstsabit t2 on t1.mamul_kodu=t2.stok_kodu
inner join tblstsabit t3 on t1.ham_kodu=t3.STOK_KODU
left join skv_sthar_sonfiyat t4 on t1.ham_kodu=t4.stok_kodu
where 
t1.MAMUL_KODU='20005631'


bunu yaptym where kysmynda kullandy?ym mamul ama i?te ben bu kriteri verdi?im yarymamulun altynda bir yary mamul var ve en alttaki yary mamulun kullandy?y hammaddeyi yine ham kodu kolonunda görmek istiyorum




mesela 
ym: yary mamul
hm: hammadde
m mamul


x mamul
x in altynda
a  :ym
b  :ym
c  :ym
u  :hm
j   :hm

a nyn altynda
1  :ym
2  :hm
3  :hm
1 in altynda
z  : hm


simdi ben sorguda  x mamulunu girdi?imde 

mamul kodu hamkodu

x u
x j
a 1
a 2
a 3
b hm
c hm
1 z

?u ?ekilde sorgunun dönmesini istiyorum

bunun için sql kodu ne yazmam lazym




Mesajı Yazan: mbaykan
Mesaj Tarihi: 08 Mayıs 2015 Saat 11:04
recursive cte yi ara?tyr. 
ben tamamlayamadym ama onunla çözülür.
alternatif olarak stored procedure yazylabilir
exec dbo.my_recete 'Mamul Kodu' 
gibi çaly?tyrylabilir
Sorgu'nun tüm ürün reçetelerini kapsamasy gerekiyor mu? kullanym ?ekline göre de dü?ünmek lazym



-------------
Mehmet Baykan


Mesajı Yazan: skocabacak
Mesaj Tarihi: 08 Mayıs 2015 Saat 11:38
Stored prosedure de yazsam sql kodu ne olacak ben böyle bir tane view hazyrlayyp excele dy? veri al yolu ile aktaryp parametrik ile istedi?im reçetenin maliyetini çykarmak istiyorum 
dedi?in ?eyleri ara?tyraca?ym 

ilgi ve alakana te?ekkür ederim çok sa?ol


Mesajı Yazan: Conari
Mesaj Tarihi: 08 Mayıs 2015 Saat 12:05
http://www.netsisdeveloper.com/index.php/2009/10/level-select-seviyeniz-ne-olursa-olsun-recete-selectniz-bu-olsun/

inceleyebilirsin.

-------------
Netsisden vazgeçemiyorum. Beni engelliyor..


Mesajı Yazan: skocabacak
Mesaj Tarihi: 08 Mayıs 2015 Saat 14:21
tam arady?ym ?ey çok te?ekkür ederim


Mesajı Yazan: atsahin
Mesaj Tarihi: 17 Ekim 2015 Saat 00:17
merhaba,

sayfaya ula?amyyorum acaba benimle payla?abilir misiniz_

heyulam@hotmail.com


Mesajı Yazan: mbaykan
Mesaj Tarihi: 17 Ekim 2015 Saat 12:10
declare @MKOD VARCHAR(35)

WITH MYRECETE 
        AS (SELECT MAMUL_KODU,HAM_KODU, MIKTAR,OPNO,OPR_BIL,SON_OPERASYON, 0 AS SEVIYE
             FROM   TBLSTOKURM AS b 
             WHERE  MAMUL_KODU = @MKOD

             UNION ALL 
             SELECT  bom.MAMUL_KODU, bom.HAM_KODU, p.MIKTAR,bom.OPNO,bom.OPR_BIL,bom.SON_OPERASYON, SEVIYE + 1 
             FROM   TBLSTOKURM AS bom 
             INNER JOIN MYRECETE AS p ON bom.MAMUL_KODU = P.HAM_KODU ) 
    SELECT   A.MAMUL_KODU,MAMUL_ADI = p1.STOK_ADI, 
              HAM_KODU,
             BILESEN_ADI = p2.STOK_ADI, 
             a.MIKTAR, 
             SEVIYE ,OPNO,OPR_BIL,SON_OPERASYON
    FROM     TBLSTSABIT p1 
             INNER JOIN MYRECETE AS a 
               ON a.MAMUL_KODU = p1.STOK_KODU 
             INNER JOIN TBLSTSABIT AS p2 
               ON a.HAM_KODU = p2.STOK_KODU 
ORDER BY SEVIYE, OPNO, BILESEN_ADI; 


-------------
Mehmet Baykan


Mesajı Yazan: atsahin
Mesaj Tarihi: 17 Ekim 2015 Saat 12:44
merhaba siz bu kodu kullanyyorsunuz galiba,

bende bo? döndü.. neden olabilir acaba...


Mesajı Yazan: mbaykan
Mesaj Tarihi: 17 Ekim 2015 Saat 13:15
@mkod de?i?kenini doldurun (mamul kodu)

ben kodu (declare satyry olmadan) UDF olarak ol?turup mamul kodunu parametre olarak kullanyyorum

CREATE FUNCTION my_func(@MKOD varchar(35)) 
RETURNS TABLE
(
   ....
   kod
  ...
  --(order by'y kaldyryn)
)



-------------
Mehmet Baykan


Mesajı Yazan: atsahin
Mesaj Tarihi: 17 Ekim 2015 Saat 15:45
t?k....




Mesajı Yazan: atsahin
Mesaj Tarihi: 23 Ekim 2015 Saat 11:12
merhaba,


CREATE FUNCTION my_func(@MKOD varchar(35))

RETURNS TABLE

(
declare @MKOD VARCHAR(35)

WITH MYRECETE

        AS (SELECT MAMUL_KODU,HAM_KODU, MIKTAR,OPNO,OPR_BIL,SON_OPERASYON, 0 AS SEVIYE

             FROM   TBLSTOKURM AS b

             WHERE MAMUL_KODU = @MKOD

             UNION ALL

             SELECT bom.MAMUL_KODU, bom.HAM_KODU, p.MIKTAR,bom.OPNO,bom.OPR_BIL,bom.SON_OPERASYON, SEVIYE + 1

             FROM   TBLSTOKURM AS bom

             INNER JOIN MYRECETE AS p ON bom.MAMUL_KODU = P.HAM_KODU )

    SELECT   A.MAMUL_KODU,MAMUL_ADI = p1.STOK_ADI,

              HAM_KODU,

             BILESEN_ADI = p2.STOK_ADI,

             a.MIKTAR,

             SEVIYE ,OPNO,OPR_BIL,SON_OPERASYON

    FROM     TBLSTSABIT p1

             INNER JOIN MYRECETE AS a

               ON a.MAMUL_KODU = p1.STOK_KODU

             INNER JOIN TBLSTSABIT AS p2

               ON a.HAM_KODU = p2.STOK_KODU
)


bu ?ekilde konu düzenledim. ?u hata döndü

Msg 156, Level 15, State 1, Procedure my_func, Line 9
Incorrect syntax near the keyword 'WITH'.
Msg 319, Level 15, State 1, Procedure my_func, Line 9
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
Msg 102, Level 15, State 1, Procedure my_func, Line 44
Incorrect syntax near ')'.




Mesajı Yazan: mbaykan
Mesaj Tarihi: 23 Ekim 2015 Saat 11:15
my_func kelimesini sizin anlayaca?ynyz bir isimle de?i?tirin
declare satyryny silin



-------------
Mehmet Baykan


Mesajı Yazan: atsahin
Mesaj Tarihi: 23 Ekim 2015 Saat 11:26
A?A?IDAKY HATAYI ALADIM ...

Msg 156, Level 15, State 1, Procedure TD_RECETE, Line 9
Incorrect syntax near the keyword 'WITH'.
Msg 319, Level 15, State 1, Procedure TD_RECETE, Line 9
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
Msg 102, Level 15, State 1, Procedure TD_RECETE, Line 44
Incorrect syntax near ')'.


Mesajı Yazan: mbaykan
Mesaj Tarihi: 23 Ekim 2015 Saat 11:32
CREATE FUNCTION [dbo].[TD_RECETE](@MKOD VARCHAR(35)) RETURNS TABLE
AS
return
(WITH MYRECETE 
        AS (SELECT MAMUL_KODU,HAM_KODU, MIKTAR,OPNO,OPR_BIL,SON_OPERASYON, 0 AS SEVIYE
             FROM   TBLSTOKURM AS b 
             WHERE  MAMUL_KODU = @MKOD

             UNION ALL 
             SELECT  bom.MAMUL_KODU, bom.HAM_KODU, p.MIKTAR,bom.OPNO,bom.OPR_BIL,bom.SON_OPERASYON, SEVIYE + 1 
             FROM   TBLSTOKURM AS bom 
             INNER JOIN MYRECETE AS p ON bom.MAMUL_KODU = P.HAM_KODU ) 
    SELECT   A.MAMUL_KODU,MAMUL_ADI = p1.STOK_ADI, 
              HAM_KODU,
             BILESEN_ADI = p2.STOK_ADI, 
             a.MIKTAR, 
             SEVIYE ,OPNO,OPR_BIL,SON_OPERASYON
    FROM     TBLSTSABIT p1 
             INNER JOIN MYRECETE AS a 
               ON a.MAMUL_KODU = p1.STOK_KODU 
             INNER JOIN TBLSTSABIT AS p2 
               ON a.HAM_KODU = p2.STOK_KODU 
    --ORDER BY SEVIYE, OPNO, BILESEN_ADI; 
)
GO


-------------
Mehmet Baykan


Mesajı Yazan: atsahin
Mesaj Tarihi: 23 Ekim 2015 Saat 11:42
tamamdyr eme?inize a?lyk.. çok te?ekkürler


son soru..:)

mamul kodum M   bunu nasyl dökümünü alaca?ym nasyl çaly?tyraca?ym..



Mesajı Yazan: mbaykan
Mesaj Tarihi: 23 Ekim 2015 Saat 12:49
SELECT * FROM dbo.TD_RECETE('M')

gelecek soruyu tahmin ederek yazyyorum
bütün mamuller/yarymamuller için bunu nasyl alyrym??

el-cevap
CROSS APPLY ara?tyryn



-------------
Mehmet Baykan


Mesajı Yazan: atsahin
Mesaj Tarihi: 23 Ekim 2015 Saat 14:10
:)))

siz 10 numarasynyz... çok te?ekkürler...



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 11.10 - http://www.webwizforums.com
Copyright ©2001-2017 Web Wiz Ltd. - https://www.webwiz.net