पर SQL सर्वर तालिकाओं में शामिल हों मुझे उम्मीद है कि यह दोहराना नहीं है। मैंने खोजों की जांच की है और मुझे इसका स्पष्ट उत्तर नहीं मिल रहा है।एक समान कथन
मेरे पास एक सारणी है जिसमें इसका प्राथमिक कुंजी सेट UniqueIdentifier
है। मेरे पास एक और टेबल भी है जिसमें varchar
कॉलम है जिसमें मूल रूप से एक क्वेरी स्ट्रिंग वाला यूआरएल होता है जिसमें मेरी पहली तालिका से guids शामिल होते हैं।
तो मेरी 2 तालिकाओं की तरह कर रहे हैं:
StateTable
StateID StateName
EB06F84C-15B9-4397-98AD-4A63DA2A238E Active
URLTable
URL
page.aspx?id=EB06F84C-15B9-4397-98AD-4A63DA2A238E
मुझे क्या करना कोशिश कर रहा हूँ एक साथ शामिल URLTable
और StateTable
चालू है StateID
का मूल्य निहित है यूआरएल टेबल के यूआरएल में। मैंने वास्तव में शामिल होने का अनुमान नहीं लगाया है। मैंने बस एक टेबल का चयन करने का प्रयास किया है और StateTable
में मानों द्वारा फ़िल्टर करने का प्रयास किया है। यहां तक कि वह काम नहीं करता, क्योंकि यह कहता है कि मैं uniqueidentifier
और varchar
तुलना कर रहा हूं
SELECT *
FROM URLTable
WHERE EXISTS
(SELECT *
FROM StateTable
WHERE URL LIKE '%' + StateID + '%')
: मैं कुछ इस तरह कर रही कोशिश की है।
क्या एक समान कमांड का उपयोग करके 2 टेबल में शामिल होने का कोई तरीका है और जहां कमांड 2 असंगत चर की तुलना नहीं कर रहा है?
धन्यवाद !!
अद्यतन: मुझे कुछ अतिरिक्त चीजें जोड़ने दें जो मुझे बताई जानी चाहिए। क्वेरी एनालिटिक्स रिपोर्ट बनाने के प्रयोजनों के लिए है। टेबल एक सीएमएस विश्लेषिकी पैकेज का हिस्सा हैं ... इसलिए तालिका संरचना को अद्यतन या बदलना एक विकल्प नहीं है।
दूसरा, इन तालिकाओं में साइट एनालिटिक्स को कैप्चर करने के बाद से बहुत अधिक ट्रैफ़िक दिखाई देता है ... इसलिए प्रदर्शन बहुत अधिक समस्या है। तीसरी बात यह है कि मेरे उदाहरण में, मैंने आईडी कहा = लेकिन id=guid&user=guid&date=date
जैसे कई मान हो सकते हैं।
अद्यतन 2: एक और चीज जिसे मैंने अभी अपने डरावनी महसूस किया है, कभी-कभी क्वेरी स्ट्रिंग में GUID से हटाए गए डैश होते हैं .. और कभी-कभी नहीं .. इसलिए जब तक मैं गलत नहीं होता, मैं सबस्ट्रिंग नहीं डाल सकता Uniqueidentifier
है। किसी को भी इस बात की पुष्टि कर सकते हैं? आह। मैं इसे
REPLACE('-','',CONVERT(varchar(50), a.AutomationStateId))
का उपयोग कर काम करने के लिए मिला है, लेकिन अब मैं इस के बाद से यूआरएल तालिका बहुत बड़ी है। यह हो सकता है के साथ बहुत ज्यादा प्रदर्शन के मुद्दों के बारे में चिंतित हूँ जानवर की प्रकृति, हालांकि, जब तक मैं कुछ भी नहीं कर सकता।
+1 और मुझे लगता है कि आप उस वाक्यविन्यास का उपयोग – Paparazzi
में शामिल कर सकते हैं – Arion
उत्तर अपडेट किया गया होगा यदि यह जानकर कि मैं कुछ जानना चाहता हूं मैं हमेशा खोज रहा हूं "आईडी =" स्ट्रिंग का पालन करेगा और यह हमेशा निम्नलिखित 36 वर्ण होंगे? शायद सीएएसटी (सबस्ट्रिंग (यूआरएल, CHARINDEX ('आईडी =', यूआरएल) +1,36 के रूप में कुछ) जैसा कि UNIQUEIDENTIFIER) = स्टेटआईडी और उस पर प्रदर्शन कैसा है? – divamatrix