मैं एक चुनिंदा बयान से एक तालिका को अद्यतन करने की कोशिश कर रहा हूँ, लेकिन मेरी कोई भी पंक्ति प्रभावित नहीं हो रही है। अगर मैं चयन कथन चलाता हूं तो मुझे परिणाम मिलते हैं इसलिए मुझे यकीन नहीं है। उदाहरण में मैंने जहां खंड को संकुचित कर दिया है। किसी भी तरह की सहायता को आभार समझेंगे।
मेरा चयन
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:
बिन:
भण्डार:
1 उत्तर
जैसे ही आपने अपना प्रश्न tsql
टैग किया, मुझे लगता है कि आप sql-server का उपयोग कर रहे हैं।
इस मामले में, आपके UPDATE
स्टेटमेंट में JOIN
s हो सकते हैं। आपके द्वारा प्रदर्शित क्वेरी के आधार पर, सिंटैक्स इस तरह दिखेगा:
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 फ़ील्ड अपडेट करने की आवश्यकता है)।
संबंधित सवाल
नए सवाल
sql
संरचित क्वेरी भाषा (एसक्यूएल) डेटाबेस को क्वेरी करने के लिए एक भाषा है। प्रश्नों में कोड उदाहरण, तालिका संरचना, नमूना डेटा और DBMS कार्यान्वयन के लिए एक टैग (जैसे MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2, आदि) का उपयोग किया जाना चाहिए। यदि आपका प्रश्न केवल एक विशिष्ट DBMS (विशिष्ट एक्सटेंशन / सुविधाओं का उपयोग करता है) से संबंधित है, तो इसके बजाय उस DBMS के टैग का उपयोग करें। एसक्यूएल के साथ टैग किए गए सवालों के जवाब में आईएसओ / आईईसी मानक एसक्यूएल का उपयोग करना चाहिए।