Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

SQL डेटाबेस को सामान्य कैसे करें

यहाँ एक स्क्रिप्ट में तालिकाओं को सामान्य करने का एक उदाहरण दिया गया है। मेरी सलाह है कि आप ऐसा कुछ करें

e.g Table: tbl_tmpData
Date, ProductName, ProductCode, ProductType, MarketDescription, Units, Value
2010-01-01, 'Arnotts Biscuits', '01', 'Biscuit', 'Store 1', 20, 20.00
2010-01-02, 'Arnotts Biscuits', '01', 'Biscuit', 'Store 2', 40, 40.00
2010-01-03, 'Arnotts Biscuits', '01', 'Biscuit', 'Store 3', 40, 40.00
2010-01-01, 'Cola', '02', 'Drink', 'Store 1', 40, 80.00
2010-01-02, 'Cola', '02', 'Drink', 'Store 2', 20, 40.00
2010-01-03, 'Cola', '02', 'Drink', 'Store 2', 60, 120.00
2010-01-01, 'Simiri Gum', '03', 'Gum', 'Store 1', 40, 80.00
2010-01-02, 'Simiri Gum', '03', 'Gum', 'Store 2', 20, 40.00
2010-01-03, 'Simiri Gum', '03', 'Gum', 'Store 3', 60, 120.00

आप पहले अपनी तिथि तालिका तैयार करेंगे:

CREATE TABLE tbl_Date
(
DateID int PRIMARY KEY IDENTITY(1,1)
 ,DateValue datetime
)

INSERT INTO tbl_Date (DateValue)
SELECT DISTINCT Date
FROM tbl_Data
WHERE Date NOT IN (SELECT DISTINCT DateValue FROM tbl_Date)

फिर आप अपनी मार्केट टेबल बनाएंगे

CREATE TABLE tbl_Market
(
MarketID int PRIMARY KEY IDENTITY(1,1)
 ,MarketName varchar(200)
)

INSERT INTO tbl_Market (MarketName)
SELECT DISTINCT MarketDescription
FROM tbl_tmpData
WHERE MarketName NOT IN (SELECT DISTINCT MarketDescription FROM tbl_Market)

फिर आप अपनी उत्पाद प्रकार तालिका बनाएंगे

CREATE TABLE tbl_ProductType
(
ProductTypeID int PRIMARY KEY IDENTITY(1,1)
 ,ProductType varchar(200)
)

INSERT INTO tbl_ProductType (ProductType)
SELECT DISTINCT ProductType
FROM tbl_tmpData
WHERE ProductType NOT IN (SELECT DISTINCT ProductType FROM tbl_ProductType)

तब आप अपनी उत्पाद तालिका बनाएंगे

CREATE TABLE tbl_Product
(
ProductID int PRIMARY KEY IDENTITY(1,1)
, ProductCode varchar(100)
, ProductDescription varchar(300)
 ,ProductType int
)

INSERT INTO tbl_Product (ProductCode, ProductDescription, ProductType)
SELECT DISTINCT tmp.ProductCode,tmp.ProductName, pt.ProductType
FROM tbl_tmpData tmp
INNER JOIN tbl_ProductType pt ON tmp.ProductType = pt.ProductType
WHERE ProductCode NOT IN (SELECT DISTINCT ProductCode FROM tbl_Product)

तब आप अपनी डेटा तालिका बनाएंगे

CREATE TABLE tbl_Data
(
DataID int PRIMARY KEY IDENTITY(1,1)
, DateID varchar(100)
, ProductID varchar(100)
, MarketID varchar(300)
 ,Units decimal(10,5)
 , value decimal(10,5)
)


INSERT INTO tbl_Data (ProductID, MarketID, Units, Value)
SELECT t.DateID
       , p.ProductID
       , m.MarketID
       , SUM(tmp.Units)
       , SUM(tmp.VALUE)
FROM tbl_tmpData tmp
INNER JOIN tbl_Date t ON tmp.Date = t.DateValue
INNER JOIN tbl_Product p ON tmp.ProductCode = p.ProductCode
INNER JOIN tbl_Market m ON tmp.MarketDescription = m.MarketName 
GROUP BY t.DateID, p.ProductID, m.MarketID
ORDER BY t.DateID, p.ProductID, m.MarketID


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql क्वेरी:DISTINCT कॉलम 1 चुनें, कॉलम 2 के अनुसार ग्रुप करें

  2. पायथन का उपयोग करके MySQL से कैसे कनेक्ट करें

  3. इस त्रुटि को कैसे ठीक करें mysql_fetch_assoc () पैरामीटर 1 को संसाधन, बूलियन में दिए जाने की अपेक्षा करता है?

  4. एकाधिक मदों द्वारा MySQL क्वेरी क्रम

  5. मैक ओएस एक्स योसेमाइट पर लोकलहोस्ट चालू करें