- Katılım
- 9 Nisan 2013
- Mesajlar
- 13
- Excel Vers. ve Dili
-
Excell 2013
Office professional plus
Merhabalar,
SQL 'de yazmış olduğum bir sorgu var. En alt kısmında göreceğiniz gibi "WHERE sr1.MAMUL_KODU = 'CS.0000.11020826'" cümlesi ile mamul kodunu yazarak sorgulatabiliyorum ama her seferinde farklı ürünler için sql sorgusunu değiştirmek istemiyorum. Bunun yerine excelde bir alan ve bir buton yapıp alanın içine mamul kodunu yazdığımda o sorguyu listelemesini istiyorum. Nasıl yapabileceğim konusunda detaylı yazarsanız sevinirim. Daha önce excelde hiç boyle bir çalışma yapmamıştım.
SELECT
sr1.MAMUL_KODU AS MamulKod,
COALESCE(sr6.MAMUL_KODU, sr5.MAMUL_KODU, sr4.MAMUL_KODU, sr3.MAMUL_KODU, sr2.MAMUL_KODU, sr1.MAMUL_KODU, '') AS AltMamulKod,
COALESCE(sr6.HAM_KODU, sr5.HAM_KODU, sr4.HAM_KODU, sr3.HAM_KODU, sr2.HAM_KODU, sr1.HAM_KODU, '') AS HamMaddeKod,
SUM(
(
ISNULL((sr1.MIKTAR /
((esn1.XFORMUL_TOPLAMI * CASE esn1.XURET_OLCU_BR WHEN 2 THEN sk1.PAYDA_1 WHEN 3 THEN sk1.PAYDA2 ELSE 1 END )
/ CASE esn1.XURET_OLCU_BR WHEN 2 THEN sk1.PAY_1 WHEN 3 THEN sk1.PAY2 ELSE 1 END)), 1) *
ISNULL((sr2.MIKTAR /
((esn2.XFORMUL_TOPLAMI * CASE esn2.XURET_OLCU_BR WHEN 2 THEN sk2.PAYDA_1 WHEN 3 THEN sk2.PAYDA2 ELSE 1 END )
/ CASE esn2.XURET_OLCU_BR WHEN 2 THEN sk2.PAY_1 WHEN 3 THEN sk2.PAY2 ELSE 1 END)), 1) *
ISNULL((sr3.MIKTAR /
((esn3.XFORMUL_TOPLAMI * CASE esn3.XURET_OLCU_BR WHEN 2 THEN sk3.PAYDA_1 WHEN 3 THEN sk3.PAYDA2 ELSE 1 END )
/ CASE esn3.XURET_OLCU_BR WHEN 2 THEN sk3.PAY_1 WHEN 3 THEN sk3.PAY2 ELSE 1 END)), 1) *
ISNULL((sr4.MIKTAR /
((esn4.XFORMUL_TOPLAMI * CASE esn4.XURET_OLCU_BR WHEN 2 THEN sk4.PAYDA_1 WHEN 3 THEN sk4.PAYDA2 ELSE 1 END )
/ CASE esn4.XURET_OLCU_BR WHEN 2 THEN sk4.PAY_1 WHEN 3 THEN sk4.PAY2 ELSE 1 END)), 1) *
ISNULL((sr5.MIKTAR /
((esn5.XFORMUL_TOPLAMI * CASE esn5.XURET_OLCU_BR WHEN 2 THEN sk5.PAYDA_1 WHEN 3 THEN sk5.PAYDA2 ELSE 1 END )
/ CASE esn5.XURET_OLCU_BR WHEN 2 THEN sk5.PAY_1 WHEN 3 THEN sk5.PAY2 ELSE 1 END)), 1) *
ISNULL((sr4.MIKTAR /
((esn4.XFORMUL_TOPLAMI * CASE esn6.XURET_OLCU_BR WHEN 2 THEN sk6.PAYDA_1 WHEN 3 THEN sk6.PAYDA2 ELSE 1 END )
/ CASE esn6.XURET_OLCU_BR WHEN 2 THEN sk6.PAY_1 WHEN 3 THEN sk6.PAY2 ELSE 1 END)), 1)
) )AS Miktar
FROM TBLSTOKURM sr1 WITH(NOLOCK)
LEFT JOIN TBLSTOKURM sr2 WITH(NOLOCK) ON (sr2.MAMUL_KODU = sr1.HAM_KODU AND sr2.MIKTAR <> 0 )
LEFT JOIN TBLSTOKURM sr3 WITH(NOLOCK) ON (sr3.MAMUL_KODU = sr2.HAM_KODU AND sr3.MIKTAR <> 0 AND sr2.HAM_KODU IS NOT NULL)
LEFT JOIN TBLSTOKURM sr4 WITH(NOLOCK) ON (sr4.MAMUL_KODU = sr3.HAM_KODU AND sr4.MIKTAR <> 0 AND sr3.HAM_KODU IS NOT NULL)
LEFT JOIN TBLSTOKURM sr5 WITH(NOLOCK) ON (sr5.MAMUL_KODU = sr4.HAM_KODU AND sr5.MIKTAR <> 0 AND sr4.HAM_KODU IS NOT NULL)
LEFT JOIN TBLSTOKURM sr6 WITH(NOLOCK) ON (sr6.MAMUL_KODU = sr5.HAM_KODU AND sr6.MIKTAR <> 0 AND sr5.HAM_KODU IS NOT NULL)
LEFT JOIN TBLESNSTMAS esn1 WITH(NOLOCK) ON (esn1.STOKKODU = sr1.MAMUL_KODU )
LEFT JOIN TBLESNSTMAS esn2 WITH(NOLOCK) ON (esn2.STOKKODU = sr2.MAMUL_KODU AND sr2.MAMUL_KODU IS NOT NULL )
LEFT JOIN TBLESNSTMAS esn3 WITH(NOLOCK) ON (esn3.STOKKODU = sr3.MAMUL_KODU AND sr3.MAMUL_KODU IS NOT NULL )
LEFT JOIN TBLESNSTMAS esn4 WITH(NOLOCK) ON (esn4.STOKKODU = sr4.MAMUL_KODU AND sr4.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLESNSTMAS esn5 WITH(NOLOCK) ON (esn5.STOKKODU = sr5.MAMUL_KODU AND sr5.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLESNSTMAS esn6 WITH(NOLOCK) ON (esn6.STOKKODU = sr6.MAMUL_KODU AND sr6.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLSTSABIT sk1 WITH(NOLOCK) ON (sk1.STOK_KODU = sr1.MAMUL_KODU )
LEFT JOIN TBLSTSABIT sk2 WITH(NOLOCK) ON (sk2.STOK_KODU = sr2.MAMUL_KODU AND sr2.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLSTSABIT sk3 WITH(NOLOCK) ON (sk3.STOK_KODU = sr3.MAMUL_KODU AND sr3.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLSTSABIT sk4 WITH(NOLOCK) ON (sk4.STOK_KODU = sr4.MAMUL_KODU AND sr4.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLSTSABIT sk5 WITH(NOLOCK) ON (sk5.STOK_KODU = sr5.MAMUL_KODU AND sr5.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLSTSABIT sk6 WITH(NOLOCK) ON (sk6.STOK_KODU = sr6.MAMUL_KODU AND sr6.MAMUL_KODU IS NOT NULL)
WHERE sr1.MAMUL_KODU = 'CS.0000.11020826'
GROUP BY
sr1.MAMUL_KODU,
COALESCE(sr6.MAMUL_KODU, sr5.MAMUL_KODU, sr4.MAMUL_KODU, sr3.MAMUL_KODU, sr2.MAMUL_KODU, sr1.MAMUL_KODU, ''),
COALESCE(sr6.HAM_KODU, sr5.HAM_KODU, sr4.HAM_KODU, sr3.HAM_KODU, sr2.HAM_KODU, sr1.HAM_KODU, '')
SQL 'de yazmış olduğum bir sorgu var. En alt kısmında göreceğiniz gibi "WHERE sr1.MAMUL_KODU = 'CS.0000.11020826'" cümlesi ile mamul kodunu yazarak sorgulatabiliyorum ama her seferinde farklı ürünler için sql sorgusunu değiştirmek istemiyorum. Bunun yerine excelde bir alan ve bir buton yapıp alanın içine mamul kodunu yazdığımda o sorguyu listelemesini istiyorum. Nasıl yapabileceğim konusunda detaylı yazarsanız sevinirim. Daha önce excelde hiç boyle bir çalışma yapmamıştım.
SELECT
sr1.MAMUL_KODU AS MamulKod,
COALESCE(sr6.MAMUL_KODU, sr5.MAMUL_KODU, sr4.MAMUL_KODU, sr3.MAMUL_KODU, sr2.MAMUL_KODU, sr1.MAMUL_KODU, '') AS AltMamulKod,
COALESCE(sr6.HAM_KODU, sr5.HAM_KODU, sr4.HAM_KODU, sr3.HAM_KODU, sr2.HAM_KODU, sr1.HAM_KODU, '') AS HamMaddeKod,
SUM(
(
ISNULL((sr1.MIKTAR /
((esn1.XFORMUL_TOPLAMI * CASE esn1.XURET_OLCU_BR WHEN 2 THEN sk1.PAYDA_1 WHEN 3 THEN sk1.PAYDA2 ELSE 1 END )
/ CASE esn1.XURET_OLCU_BR WHEN 2 THEN sk1.PAY_1 WHEN 3 THEN sk1.PAY2 ELSE 1 END)), 1) *
ISNULL((sr2.MIKTAR /
((esn2.XFORMUL_TOPLAMI * CASE esn2.XURET_OLCU_BR WHEN 2 THEN sk2.PAYDA_1 WHEN 3 THEN sk2.PAYDA2 ELSE 1 END )
/ CASE esn2.XURET_OLCU_BR WHEN 2 THEN sk2.PAY_1 WHEN 3 THEN sk2.PAY2 ELSE 1 END)), 1) *
ISNULL((sr3.MIKTAR /
((esn3.XFORMUL_TOPLAMI * CASE esn3.XURET_OLCU_BR WHEN 2 THEN sk3.PAYDA_1 WHEN 3 THEN sk3.PAYDA2 ELSE 1 END )
/ CASE esn3.XURET_OLCU_BR WHEN 2 THEN sk3.PAY_1 WHEN 3 THEN sk3.PAY2 ELSE 1 END)), 1) *
ISNULL((sr4.MIKTAR /
((esn4.XFORMUL_TOPLAMI * CASE esn4.XURET_OLCU_BR WHEN 2 THEN sk4.PAYDA_1 WHEN 3 THEN sk4.PAYDA2 ELSE 1 END )
/ CASE esn4.XURET_OLCU_BR WHEN 2 THEN sk4.PAY_1 WHEN 3 THEN sk4.PAY2 ELSE 1 END)), 1) *
ISNULL((sr5.MIKTAR /
((esn5.XFORMUL_TOPLAMI * CASE esn5.XURET_OLCU_BR WHEN 2 THEN sk5.PAYDA_1 WHEN 3 THEN sk5.PAYDA2 ELSE 1 END )
/ CASE esn5.XURET_OLCU_BR WHEN 2 THEN sk5.PAY_1 WHEN 3 THEN sk5.PAY2 ELSE 1 END)), 1) *
ISNULL((sr4.MIKTAR /
((esn4.XFORMUL_TOPLAMI * CASE esn6.XURET_OLCU_BR WHEN 2 THEN sk6.PAYDA_1 WHEN 3 THEN sk6.PAYDA2 ELSE 1 END )
/ CASE esn6.XURET_OLCU_BR WHEN 2 THEN sk6.PAY_1 WHEN 3 THEN sk6.PAY2 ELSE 1 END)), 1)
) )AS Miktar
FROM TBLSTOKURM sr1 WITH(NOLOCK)
LEFT JOIN TBLSTOKURM sr2 WITH(NOLOCK) ON (sr2.MAMUL_KODU = sr1.HAM_KODU AND sr2.MIKTAR <> 0 )
LEFT JOIN TBLSTOKURM sr3 WITH(NOLOCK) ON (sr3.MAMUL_KODU = sr2.HAM_KODU AND sr3.MIKTAR <> 0 AND sr2.HAM_KODU IS NOT NULL)
LEFT JOIN TBLSTOKURM sr4 WITH(NOLOCK) ON (sr4.MAMUL_KODU = sr3.HAM_KODU AND sr4.MIKTAR <> 0 AND sr3.HAM_KODU IS NOT NULL)
LEFT JOIN TBLSTOKURM sr5 WITH(NOLOCK) ON (sr5.MAMUL_KODU = sr4.HAM_KODU AND sr5.MIKTAR <> 0 AND sr4.HAM_KODU IS NOT NULL)
LEFT JOIN TBLSTOKURM sr6 WITH(NOLOCK) ON (sr6.MAMUL_KODU = sr5.HAM_KODU AND sr6.MIKTAR <> 0 AND sr5.HAM_KODU IS NOT NULL)
LEFT JOIN TBLESNSTMAS esn1 WITH(NOLOCK) ON (esn1.STOKKODU = sr1.MAMUL_KODU )
LEFT JOIN TBLESNSTMAS esn2 WITH(NOLOCK) ON (esn2.STOKKODU = sr2.MAMUL_KODU AND sr2.MAMUL_KODU IS NOT NULL )
LEFT JOIN TBLESNSTMAS esn3 WITH(NOLOCK) ON (esn3.STOKKODU = sr3.MAMUL_KODU AND sr3.MAMUL_KODU IS NOT NULL )
LEFT JOIN TBLESNSTMAS esn4 WITH(NOLOCK) ON (esn4.STOKKODU = sr4.MAMUL_KODU AND sr4.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLESNSTMAS esn5 WITH(NOLOCK) ON (esn5.STOKKODU = sr5.MAMUL_KODU AND sr5.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLESNSTMAS esn6 WITH(NOLOCK) ON (esn6.STOKKODU = sr6.MAMUL_KODU AND sr6.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLSTSABIT sk1 WITH(NOLOCK) ON (sk1.STOK_KODU = sr1.MAMUL_KODU )
LEFT JOIN TBLSTSABIT sk2 WITH(NOLOCK) ON (sk2.STOK_KODU = sr2.MAMUL_KODU AND sr2.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLSTSABIT sk3 WITH(NOLOCK) ON (sk3.STOK_KODU = sr3.MAMUL_KODU AND sr3.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLSTSABIT sk4 WITH(NOLOCK) ON (sk4.STOK_KODU = sr4.MAMUL_KODU AND sr4.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLSTSABIT sk5 WITH(NOLOCK) ON (sk5.STOK_KODU = sr5.MAMUL_KODU AND sr5.MAMUL_KODU IS NOT NULL)
LEFT JOIN TBLSTSABIT sk6 WITH(NOLOCK) ON (sk6.STOK_KODU = sr6.MAMUL_KODU AND sr6.MAMUL_KODU IS NOT NULL)
WHERE sr1.MAMUL_KODU = 'CS.0000.11020826'
GROUP BY
sr1.MAMUL_KODU,
COALESCE(sr6.MAMUL_KODU, sr5.MAMUL_KODU, sr4.MAMUL_KODU, sr3.MAMUL_KODU, sr2.MAMUL_KODU, sr1.MAMUL_KODU, ''),
COALESCE(sr6.HAM_KODU, sr5.HAM_KODU, sr4.HAM_KODU, sr3.HAM_KODU, sr2.HAM_KODU, sr1.HAM_KODU, '')