मैं एक ऐसा दृश्य बनाना चाहता हूं जो दो तालिकाओं "अनुसूची" और "संदर्भ" से डेटा खींचता है।किसी तालिका में एक कॉलम में एकाधिक कॉलम में किसी अन्य तालिका में एक कॉलम में शामिल होना
अनुसूची में 50+ कॉलम हैं (यह लगभग पूरी तरह से denormalized है - मेरा डिजाइन नहीं), जिनमें से अधिकतर एक मान है जो संदर्भ तालिका में एक कॉलम में शामिल हो सकता है।
संदर्भ में एकल कॉलम में अनुसूची में प्रत्येक कॉलम में सही ढंग से शामिल होने के लिए मैं SQL कथन कैसे लिखूं?
अनुसूची तालिका के रूप में परिभाषित किया गया है:
CREATE TABLE [dbo].[Schedule](
[ID] [int] NOT NULL,
[SCHEDULEWEEK] [datetime] NOT NULL,
[EMPNO] [numeric](10, 0) NOT NULL,
[EMPLNAME] [varchar](32) NULL,
[EMPFNAME] [varchar](32) NULL,
[EMPSENDATE] [datetime] NULL,
[EMPHIREDATE] [datetime] NULL,
[EMPTYPE] [char](1) NULL,
[EMPSTATUS] [char](1) NULL,
[SNREFUSALS] [tinyint] NULL,
[QUALSTRING] [varchar](128) NULL,
[JOBOVERSHIFTTYPE] [bit] NULL,
[SHORTNOTICE] [bit] NULL,
[SHORTNOTICEWAP] [bit] NULL,
[SHORTNOTICEPHONE] [varchar](32) NULL,
[LEADHAND] [bit] NULL,
[DUALCURRENCY] [bit] NULL,
[MIN100WINDOW] [bit] NULL,
[STATHOLIDAY] [bit] NULL,
[AREAOVERHOURS] [bit] NULL,
[DOUBLEINTERZONES] [bit] NULL,
[MAXDAYSPERWEEK] [tinyint] NULL,
[MAXHOURSPERWEEK] [numeric](10, 2) NULL,
[MAXHOURSPERSHIFT] [numeric](10, 2) NULL,
[MAXDOUBLESPERWEEK] [tinyint] NULL,
[ASSIGNEDDAYS] [tinyint] NULL,
[ASSIGNEDHOURS] [numeric](10, 2) NULL,
[ASSIGNEDDOUBLES] [tinyint] NULL,
[ASSIGNEDLOAHOURS] [numeric](10, 2) NULL,
[SHIFTNO1] [int] NULL,
[TEXT1_1] [varchar](64) NULL,
[TEXT2_1] [varchar](64) NULL,
[DAYFLAG1] [bit] NULL,
[COMMENT1] [text] NULL,
[SHIFTNO2] [int] NULL,
[TEXT1_2] [varchar](64) NULL,
[TEXT2_2] [varchar](64) NULL,
[DAYFLAG2] [bit] NULL,
[COMMENT2] [text] NULL,
[SHIFTNO3] [int] NULL,
[TEXT1_3] [varchar](64) NULL,
[TEXT2_3] [varchar](64) NULL,
[DAYFLAG3] [bit] NULL,
[COMMENT3] [text] NULL,
[SHIFTNO4] [int] NULL,
[TEXT1_4] [varchar](64) NULL,
[TEXT2_4] [varchar](64) NULL,
[DAYFLAG4] [bit] NULL,
[COMMENT4] [text] NULL,
[SHIFTNO5] [int] NULL,
[TEXT1_5] [varchar](64) NULL,
[TEXT2_5] [varchar](64) NULL,
[DAYFLAG5] [bit] NULL,
[COMMENT5] [text] NULL,
[SHIFTNO6] [int] NULL,
[TEXT1_6] [varchar](64) NULL,
[TEXT2_6] [varchar](64) NULL,
[DAYFLAG6] [bit] NULL,
[COMMENT6] [text] NULL
-- Snip
) ON [PRIMARY]
और संदर्भ तालिका के रूप में परिभाषित किया गया है:
CREATE TABLE [dbo].[Reference](
[ID] [int] NOT NULL,
[CODE] [varchar](21) NOT NULL,
[LOCATIONCODE] [varchar](4) NOT NULL,
[SCHAREACODE] [varchar](16) NOT NULL,
[LOCATIONNAME] [varchar](32) NOT NULL,
[FLTAREACODE] [varchar](16) NOT NULL
) ON [PRIMARY]
मैं में प्रत्येक [TEXT1_ ]/[TEXT2_] स्तंभ शामिल होने के लिए कोशिश कर रहा हूँ संदर्भ में [SCHAREACODE] कॉलम की अनुसूची। सभी संदर्भ तालिका में उन क्षेत्रों की एक सूची है जहां कर्मचारी काम कर सकता है।
कृपया अपने प्रश्नों के उदाहरण के साथ अपना प्रश्न अपडेट करें और आप जिस आरडीबीएमएस का उपयोग कर रहे हैं - उदा। MySQL, SQL सर्वर, आदि – Seb
क्या अनुसूची में प्रत्येक कॉलम संदर्भ में COLUMN में शामिल होता है - या क्या आप वास्तव में एक पंक्ति का मतलब है? कृपया एक उदाहरण प्रदान करें (उदाहरण के लिए 50 कॉलम में से 3।) –
क्या एक अल्पविराम सीमित सूची या केवल एक क्षेत्र कोड है? –