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
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...
|
|