2013-08-13 9 views
16

उनके किसी अन्य तरीके से या sql क्वेरी किसी खास कॉलम के साथ डेटाबेस तालिका नामों से नीचे दिखाया गया है खोजने के लिए है के साथ एसक्यूएल तालिका नाम मिल जाए,एक विशेष कॉलम

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'NameID' 
+3

चला सकते हैं क्यों आप एक और तरीका है की आवश्यकता होगी? –

+1

यही तरीका है यदि आप मानक एसक्यूएल का उपयोग करना चाहते हैं। यदि आप नहीं करते हैं, तो आपको अपने विशिष्ट आरडीबीएमएस उत्पाद (जैसे ओरेकल, माईएसक्यूएल, आदि) के लिए एक टैग जोड़ने की आवश्यकता है –

+0

यह आपके द्वारा उपयोग किए जा रहे आरडीबीएमएस के आधार पर भिन्न हो सकता है। – Randy

उत्तर

17

एसक्यूएल सर्वर में, आप sys.columns क्वेरी कर सकते हैं।

कुछ की तरह:

SELECT 
    t.name 
FROM 
    sys.columns c 
     inner join 
    sys.tables t 
     on 
      c.object_id = t.object_id 
WHERE 
    c.name = 'NameID' 

आप एक अतिरिक्त देखने स्कीमा नाम को हल करने के लिए, आप एकाधिक स्कीमा में तालिकाओं अगर चाहते हो सकता है।

+0

यह एकदम सही है क्योंकि यह केवल एक विशेष स्तंभ के साथ तालिका देता है – Rohaan

3

आप इस क्वेरी

SELECT t.name AS table_name, 
SCHEMA_NAME(schema_id) AS schema_name, 
c.name AS column_name 
FROM sys.tables AS t 
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID 
WHERE c.name LIKE '%Column%' -- write the column you search here 
ORDER BY schema_name, table_name; 
संबंधित मुद्दे