بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

 مشکلی در کد SQL

مدیریت گفتگو
JSONObject 11 سال پیش
آخرین تغییر: 11 سال پیش

 سلام به سایت تازه و کاربراش
این کد چرا کار نمیکنه ؟ ایرادش کجاست ؟

 UPDATE table1 
SET colOne=1
WHERE id EXISTS(
SELECT IF(col1=19,col2,col1) AS id
FROM table2
WHERE
(col3=19 AND col4='X')
OR
(col3=0 AND col4='Y' AND (col1=19 OR col2=19))
)

البته اون  SELECT داخلی به صورت جدا، کاملا درست کار میکنه
شکل :

    table1 : 

colTwo colOne id
23 0 12
56 0 23
45 0 34
45 0 45
56 0 47
67 0 77
45 0 78

 

    table2 :

col4 col3 col2 col1 id
X 19 19 23 1
Y 0 45 19 2
X 0 33 22 3
Z 11 11 19 4
Y 0 12 19 5

 

با این جداول نتیجه ی اون SELECT ِ داخلی میشه :

id
23
45
12

 

 و باید اون سلول های Bold شده ی table1 رو برابر عدد 1 بکنه
ولی این کارو نمیکنه
چیکار کنم ؟

 

 

نظرات

پاسخ‌ها 1

JSONObject 11 سال پیش

هوچی دیگه خودم پیدا کردم

باید به جای EXISTS از IN استفاده بشه

نظرات

کاشی زاده 11 سال پیش
خب ، شما عجله میکنید و اول سوال میپرسید بعد خودتون جستجو میکنید ، من الان رفتم کد هاتون رو بخونم دیدم چقدر هم طولانی هست و تو هم تو هم :)
JSONObject 11 سال پیش
با جستوجو که نمیشه به جواب همچین سوالی رسید مجبور شدم تو stack پرسیدم

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .