कृपया मेरी मदद शर्तों के साथ एक एसक्यूएल क्वेरी लिखने के रूप मेंएसक्यूएल क्वेरी जैसे
Select * from Table1 where EmpPU NOT Like IN ('%CSE%', '%ECE%', '%EEE%')
'नहीं की तरह' त्रुटि हो रही है।
कृपया मेरी मदद शर्तों के साथ एक एसक्यूएल क्वेरी लिखने के रूप मेंएसक्यूएल क्वेरी जैसे
Select * from Table1 where EmpPU NOT Like IN ('%CSE%', '%ECE%', '%EEE%')
'नहीं की तरह' त्रुटि हो रही है।
आप की तरह है और में नहीं जोड़ सकते बयान नीचे हालांकि काम करना होगा:।
Select * from Table1
where EmpPU NOT Like '%CSE%'
AND EmpPU NOT Like '%ECE%'
AND EmpPU NOT Like '%EEE%'
तुम कोशिश कर सकते इस
Select * from Table1 where
EmpPU NOT Like '%CSE%'
AND EmpPU NOT Like '%ECE%'
AND EmpPU NOT Like '%EEE%'
क्योंकि आप दो वाक्य रचना एक साथ मिश्रण कर रहे हैं यही कारण है कि।
यदि आपके पास हमेशा उन तीन मान हैं, तो आप केवल तीन और अभिव्यक्तियों के परिणाम देख सकते हैं।
SELECT
*
FROM
Table1
WHERE
EmpPU NOT LIKE '%CSE%'
AND EmpPU NOT LIKE '%ECE%'
AND EmpPU NOT LIKE '%EEE%'
यदि आपको इसे "किसी भी संख्या" मान के लिए करने की आवश्यकता है, तो आप मूल्यों को एक तालिका में डाल सकते हैं और इसमें शामिल हो सकते हैं।
WITH
myData
AS
(
SELECT '%CSE%' AS match
UNION ALL SELECT '%ECE%' AS match
UNION ALL SELECT '%EEE%' AS match
)
SELECT
*
FROM
Table1
LEFT JOIN
myData
ON Table1.EmpPU LIKE myData.match
WHERE
myData.match IS NULL
या ...
WITH
myData
AS
(
SELECT '%CSE%' AS match
UNION ALL SELECT '%ECE%' AS match
UNION ALL SELECT '%EEE%' AS match
)
SELECT
*
FROM
Table1
WHERE
NOT EXISTS (SELECT * FROM myData WHERE Table1.EmpPU LIKE match)
या आप इसे इस तरह कर सकते हैं:
SELECT
*
FROM
Table1
WHERE NOT EXISTS
(
SELECT
NULL
FROM
(
SELECT '%CSE%' AS column1 UNION ALL
SELECT '%ECE%' UNION ALL
SELECT '%EEE%'
) AS tbl
WHERE Table1.EmpPU LIKE tbl.column1
)
आप नहीं कर सकते की तरह गठबंधन और
में आप कर सकते हैं:
select * from Table1
where EmpPU not in ('%CSE%', '%ECE%', '%EEE%')
लेकिन आप% वाइल्डकार्ड
से लाभ अभ्यस्त आप% ही एकमात्र विकल्प की जरूरत है है:
Select * from Table1
where EmpPU not like '%CSE%' and EmpPU not like '%ECE%' and EmpPU not like '%EEE%'
इसके अलावा आपका मतलब' OR' के बजाय 'AND' है? और आपको वहां भी फ़ील्ड नाम निर्दिष्ट करने की आवश्यकता है? * [इस उत्तर का अंतिम भाग एक हटाए गए उत्तर के समान चरित्र के लिए चरित्र है ...] * – MatBailie
नहीं, इसका OR या। रिकॉर्ड को बाहर करने के लिए केवल शर्तों में से एक सत्य होना चाहिए। इसमें "ईईई" के साथ एक पंक्ति को बाहर रखा जाना चाहिए, लेकिन यह सीएसई – Diego
की तरह नहीं है यह बिल्कुल सही बात है। एक पंक्ति *** शामिल है *** यदि WHERE क्लॉज सही साबित होता है, तो चलिए एक उदाहरण के रूप में 'SMEEEG'' लेते हैं और अपना कोड आज़माते हैं ...'('SMEEEG' '% CSE%' की तरह नहीं) या ('SMEEEG' '% ECE%' की तरह नहीं) या ('SMEEEG' '% EEE%' की तरह नहीं) '=>' (TRUE) या (TRUE) या (गलत) '=>' TRUE'। आपके कोड में 'एसएमईईईजीई' शामिल है, भले ही यह *** '% EEE% 'की तरह *** है। आपको '((x पसंद करें) या (x LIKE b) या (x LIKE b) की आवश्यकता है) या आपको' (x पसंद नहीं है) और (x पसंद नहीं है) और (x पसंद नहीं है) '। किसी भी तरह से, आपके पास क्या काम नहीं करता है। माफ़ कीजिये। – MatBailie
आप शब्द जो आप शामिल/एक विशेष कॉलम से खोज में बाहर करना चाहते हैं के लिए सेट किया है । आप mysql के नियमित अभिव्यक्ति फ़ंक्शन का उपयोग करना चाह सकते हैं।
एक स्तंभ से शब्दों का वह समूह शामिल न करें:
SELECT
*
FROM
Table1
WHERE
EmpPU NOT REGEXP 'CSE|ECE|EEE';
एक स्तंभ से शब्दों के सेट खोज:
SELECT
*
FROM
Table1
WHERE
EmpPU REGEXP 'CSE|ECE|EEE';
की [
को स्टेटमेंट अपडेट किया है, यह एक बेहतर जवाब है क्योंकि यह '(जैसे) पसंद नहीं है, जिससे क्वेरी को बनाए रखना आसान हो जाता है। प्रदर्शन-वार रेगेक्स अधिक कठिन हो सकता है। – Jabberwockey
ओपी टी-एसक्यूएल के बारे में पूछ रहा है। –
यह वास्तव में एक अच्छा समाधान दोस्त है। – aavrug
संभव डुप्लिकेट यह संभव के लिए पसंद है और में उपयोग करने के लिए है एक कहां स्टेटमेंट?] (http://stackoverflow.com/questions/4335359/is-it-possible-to-use-like-and-in-for-a-where-statment) – onedaywhen