SELECT distinct Major, COUNT(Major) AS MajorCount FROM
[College Management System].[dbo].[ApplicantCourseDetails]
group by Major
SELECT distinct MinorI, COUNT(MinorI) AS MinorCount FROM
[College Management System].[dbo].[ApplicantCourseDetails]
group by MinorI
Result should be like this.
╔═══════════╦════════════╦════════════╦════════════╗
║ Major ║ MajorCount ║ MinorI ║ MinorCount ║
╠═══════════╬════════════╬════════════╬════════════╣
║ Botany ║ 1 ║ ║ ║
║ Chemistry ║ 2 ║ Chemistry ║ 2 ║
║ English ║ 2 ║ English ║ 2 ║
║ History ║ 2 ║ History ║ 1 ║
║ ║ ║ Philosophy ║ 1 ║
║ ║ ║ Zoology ║ 1 ║
╚═══════════╩════════════╩════════════╩════════════╝
Best Answer
You can use a cross apply and values to create a row for each value and an extra column in the values clause to keep track of what value is a major and what value is a minor.
SQL Fiddle
MS SQL Server 2008 Schema Setup:
Query 1:
Results: