SQL

2012-03-01 10 views
6

के साथ डेटा में पैटर्न को पहचानने या पुन: व्यवस्थित करने के लिए मैं सोच रहा हूं कि यह संभव है या नहीं। मैं रिकॉर्ड्स की पहचान करने की कोशिश कर रहा हूं जहां डेटा में एक पैटर्न है।SQL

जैसे क्षेत्रों आईडी, DATA_DTE (केवल दैनिक रिकॉर्ड), स्पीड के साथ एक मेज।

मैं पहचान करना चाहते हैं जब क्षेत्र स्पीड ऊपर से एक पंक्ति

**ID**..**DATA_DTE**...**SPEED** 
1........Jan-1............8 
1........Jan-2............9 
1........Jan-3............4 
1........Jan-4............4 
1........Jan-5............4 
1........Jan-6............7 
1........Jan-7............8 
1........Jan-8............9 

में कम से कम 4 से बूंदों और लगातार कम से कम 3 दिनों के लिए रखती है, मैं मूल रूप से एक SQL क्वेरी करना चाहते हैं आईडी वापस करें। उदाहरण के लिए उपरोक्त में "1"।

क्या कोई जानता है कि मैं इन आईडी को वापस करने के लिए अपनी SQL क्वेरी कैसे सेट कर सकता हूं जो इस तरह के पैटर्न से मेल खाते हैं? मैं यह एमएस एक्सेस 2003

+2

क्यों नीचे वोट? मैं इसका विरोध करूंगा, लेकिन मैं उत्सुक हूं। – Fionnuala

+0

मुझे लगता है कि आपको इसके लिए वीबीए की आवश्यकता होगी। – Fionnuala

+0

@ रेमो डबल इसे प्रतिबिंबित करता है। :) –

उत्तर

3

मैं एमएस एक्सेस पता नहीं है में चल रहे हो जाएगा, लेकिन यह काम कर सकता है:

SELECT DISTINCT id 
FROM     data AS d1 
INNER JOIN data AS d2 ON d1.id = d2.id AND DateAdd("d",+1,d1.data_dte) = d2.data_dte 
INNER JOIN data AS d3 ON d1.id = d3.id AND DateAdd("d",+2,d1.data_dte) = d3.data_dte 
INNER JOIN data AS d4 ON d1.id = d4.id AND DateAdd("d",+3,d1.date_dte) = d4.data_dte 
WHERE d1.speed - d2.speed >= 4 
  AND d1.speed - d3.speed >= 4 
  AND d1.speed - d4.speed >= 4 
+0

'd" '' d 'के साथ बदलें और फिर यह नौकरी कर सकता है;) –

+0

बहुत सारे ब्रांड्स के बिना नहीं, यह नहीं होगा। – Fionnuala

+0

@ नोराला - हाँ तालिका में कई आईडी हैं। और पूरी श्रृंखला में तिथियां हैं। – user1243468