Pharmaceutical Registration Database
Sample Code (SQL)
Drug Importation Summary Report
SELECT
dism.LetterNo,
dism.LetterDate,
lc.Country,
dism.InvoiceNo,
dism.InvoiceDate,
dia.CountingUnit,
dia.UnitPrice,
dia.Quantity,
br.BrandName,
br.GenericIndex,
imp.CompanyName AS Importer,
comp.CompanyName AS Manufacturer,
YEAR(dism.UpdatedOn) AS Year,
dism.UpdatedOn,
di.Border,
MONTH(dism.UpdatedOn) AS Month,
YEAR(dism.InvoiceDate) AS InvoiceYear,
ROUND(dia.UnitPrice * dia.Quantity, 2) AS TotalAmount
FROM
DrugImportations di
INNER JOIN drugImportation_SubMain dism ON di.ImportationID = dism.ImportationID
INNER JOIN
(
lkpCountries lc
RIGHT JOIN
(
(
(
dism
INNER JOIN
(
Importer imp
INNER JOIN
(
drugImportations_Sub dis
INNER JOIN drugImportations_Actual dia
ON dis.RegistrationID = dia.RegistrationID
)
ON imp.ImporterID = dis.ImporterID
)
ON
dism.CommercialDrugImportsID = dia.CommercialDrugImportsID
AND dism.ImportationID = dis.ImportationID
)
LEFT JOIN BrandRegistration br
ON
dis.CompanyID = br.CompanyID
AND dis.RegistrationID = br.RegistrationID
)
LEFT JOIN Company comp
ON br.CompanyID = comp.CompanyID
)
ON lc.CountryId = comp.CountryId
)
GROUP BY
dism.LetterNo,
dism.LetterDate,
lc.Country,
dism.InvoiceNo,
dia.CountingUnit,
dia.UnitPrice,
dia.Quantity,
br.BrandName,
br.GenericIndex,
imp.CompanyName,
comp.CompanyName,
dism.UpdatedOn,
di.Border,
dism.InvoiceDate,
YEAR(dism.InvoiceDate),
ROUND(dia.UnitPrice * dia.Quantity, 2);
Combining tables
SELECT
cwnp.id,
cwnp.Country,
cwnp.Importer,
cwnp.CompanyName,
cwnp.Qty,
cwnp.UnitPrice,
cwnp.TotalAmount,
cwnp.Border,
"No Pro" AS Stat,
cwnp.GenericIndex,
cwnp.BrandName,
cwnp.RegisteredWithLDL,
cwnp.RegistrationStatus,
cwnp.Year,
cwnp.MonthG,
cwnp.InvoiceNo,
cwnp.ProformaNo,
cwnp.ProformaLetterNo,
cwnp.CommercialLetterNo,
cwnp.CommercialLetterDate,
cwnp.ProformaInvoiceDate,
cwnp.ProformaLetterDate,
cwnp.UpdatedBy,
cwnp.UpdatedOn,
cwnp.ATCUniqueCode,
cwnp.CommercialNote,
cwnp.ProformaNote,
cwnp.CountingUnit,
cwnp.CommercialInvoiceDate
FROM
Commerical_WithNoProforma cwnp
UNION ALL
SELECT
cfa.iD,
cfa.Country,
cfa.Importer,
cfa.CompanyName,
cfa.Qty,
cfa.UnitPrice,
cfa.TotalAmount,
cfa.Border,
"Yes Pro" AS Stat,
cfa.GenericIndex,
cfa.BrandName,
cfa.RegisteredWithLDL,
cfa.RegistrationStatus,
cfa.Year,
cfa.MonthG,
cfa.InvoiceNo,
cfa.ProformaNo,
cfa.ProformaLetterNo,
cfa.CommercialLetterNo,
cfa.CommercialLetterDate,
cfa.ProformaInvoiceDate,
cfa.ProformaLetterDate,
cfa.UpdatedBy,
cfa.UpdatedOn,
cfa.ATCUniqueCode,
cfa.CommercialNote,
cfa.ProformaNote,
cfa.CountingUnit,
cfa.CommercialInvoiceDate
FROM
Common_for_Actual cfa;
Invoice with Proforma Status Report
SELECT
c.CompanyName,
i.CompanyName AS Importer,
dis.InviceNo,
dis.InviceDate,
dis.LetterNo AS C_LetterNo,
dis.LetterDate AS C_LetterDate,
dis.UpdatedOn,
dis.UpdatedBy,
dis.InviceNo & "-" & dis.InviceDate & "-" & dis.LetterNo & "-" & dis.LetterDate & "-" & c.CompanyID & "-" & i.ImporterID AS InvoiceUniqueID,
YEAR(dis.UpdatedOn) AS [Year],
IIF([Month] IN (1, 2, 3), "Q1",
IIF([Month] IN (4, 5, 6), "Q2",
IIF([Month] IN (7, 8, 9), "Q3", "Q4"))) AS Q,
MONTH(dis.UpdatedOn) AS [Month],
DAY(dis.UpdatedOn) AS [Day],
"With Pro-forma" AS Status
FROM
Importer i
INNER JOIN (DrugImportations di
INNER JOIN Company c
ON di.CompanyID = c.CompanyID)
ON i.ImporterID = di.ImporterID
INNER JOIN drugImportation_SubMain dis
ON di.ImportationID = dis.ImportationID;