मैं एक चुनिंदा बयान से एक तालिका को अद्यतन करने की कोशिश कर रहा हूँ, लेकिन मेरी कोई भी पंक्ति प्रभावित नहीं हो रही है। अगर मैं चयन कथन चलाता हूं तो मुझे परिणाम मिलते हैं इसलिए मुझे यकीन नहीं है। उदाहरण में मैंने जहां खंड को संकुचित कर दिया है। किसी भी तरह की सहायता को आभार समझेंगे।

मेरा चयन

select 
    a.Code,
    a.ItemGroup,
    a.Pack,
    a.bar_code,
    WHStockLink,WHUseInfoDefs,
    b.[iBinLocationID],
    c.cBinLocationDescription,
    ucIIWBin1,
    WHPackCode,
    WHBarCode,
    IdWhseStk
from
    WhseStk b 
    join StkItem a on a.StockLink = WHStockLink
    inner join _btblBINLocation c on c.idBinLocation = b.iBinLocationID 
where 
    WHWhseID = 3 and 
    IdWhseStk = 1003000221089 
order by WHStockLink

मेरा अपडेट

update WhseStk
    set ucIIWBin1 = t1.cBinLocationDescription
    from (
        select
            a.Code,
            a.ItemGroup,
            a.Pack,
            a.bar_code,
            WHStockLink,
            WHUseInfoDefs,
            b.[iBinLocationID],
            c.cBinLocationDescription,
            ucIIWBin1,
            WHPackCode,
            WHBarCode,
            IdWhseStk
        from  
            WhseStk b 
            join StkItem a on a.StockLink = WHStockLink
            join _btblBINLocation c on c.idBinLocation = b.iBinLocationID 
        --where WHWhseID = 5 and c.idBinLocation = b.iBinLocationID
         ) t1
    where WHWhseID = 5

अगर मैं इसे ट्विक करता हूं तो हर पंक्ति समान मान से प्रभावित होती है।

मैं जो करने की कोशिश कर रहा हूं वह वास्तव में स्टॉक लिंक का उपयोग करके मिलान करना है और उसी तालिका में 3 नए उपयोगकर्ता परिभाषित फ़ील्ड को पॉप्युलेट करना है यानी ucIIWBin1, ucIIWBin2, ucIIWBin13, जो बिन विवरण (किसी अन्य तालिका से जुड़े हुए) बारकोड और पैक हैं यह मेज़।

Whse:

बिन:

भण्डार:

0
Hassan 10 पद 2018, 17:46

1 उत्तर

सबसे बढ़िया उत्तर

जैसे ही आपने अपना प्रश्न tsql टैग किया, मुझे लगता है कि आप sql-server का उपयोग कर रहे हैं।

इस मामले में, आपके UPDATE स्टेटमेंट में JOINs हो सकते हैं। आपके द्वारा प्रदर्शित क्वेरी के आधार पर, सिंटैक्स इस तरह दिखेगा:

UPDATE a
SET a.ucIIWBin1 = c.cBinLocationDescription
FROM WhseStk a
INNER JOIN StkItem b ON b.StockLink = a.WHStockLink
INNER JOIN _btblBINLocation c on c.idBinLocation = a.iBinLocationID 
WHERE a.WHWhseID = 5

जैसा कि आपने उल्लेख किया है कि आपके प्रश्नों को संकुचित कर दिया गया था, आपको उपरोक्त उदाहरण को अनुकूलित करने की आवश्यकता हो सकती है (विशेषकर, आपने उल्लेख किया है कि आपको अपने कोड में केवल एक दिखाते समय 3 फ़ील्ड अपडेट करने की आवश्यकता है)।

1
GMB 11 पद 2018, 12:21