Click here to Skip to main content
14,268,557 members
Rate this:
Please Sign up or sign in to vote.
See more:
Hi All,
I need to write a SQL Query for the below --
I have a scenario where Students enrolled for English, Mathematics.
Now if the student Enrollment number is already in English group then it should not come to Mathematics group.



Thanks to All.

What I have tried:

I am able to Group By but the same student Enrollment number is coming in Both the group. But my requirement is If in one group it is added then another group it should not come.
I tried by my Self and also check in Google.
Posted
Updated 21hrs ago
Comments
MadMyche 14-Aug-19 6:27am
   
So, let's see the query(ies) that didn't work, and also show us what you expect as a result.
Rate this:
Please Sign up or sign in to vote.

Solution 1

We are more than willing to help those that are stuck: but that doesn't mean that we are here to do it all for you! We can't do all the work, you are either getting paid for this, or it's part of your grades and it wouldn't be at all fair for us to do it all for you.

So we need you to do the work, and we will help you when you get stuck. That doesn't mean we will give you a step by step solution you can hand in!
Start by explaining where you are at the moment, and what the next step in the process is. Then tell us what you have tried to get that next step working, and what happened when you did.
   
Rate this:
Please Sign up or sign in to vote.

Solution 2

All what you have to do is to count the number of occurrences for that student. For example:
SELECT COALESCE(SUM(CASE WHEN StudentID=@stuid THEN 1 ELSE 0 END), 0) AS NoOfOccurr
FROM TableWhereStudentIsAssignedToGroup


Note: you did not provide a structure of database or sample data, so above query is just an example.

There's few other ways to achieve that, but knowing nothing about a database, i can't help.
   
Rate this:
Please Sign up or sign in to vote.

Solution 3

Hi,

Have you tried Except?
;with tbl as
(
	select 1 as enrollNo, 'English' as grp union
	select 1 as enrollNo, 'Maths' as grp union
	select 2 as enrollNo, 'English' as grp union
	select 3 as enrollNo, 'English' as grp union
	select 4 as enrollNo, 'Maths' as grp 
)
select enrollNo from tbl where grp = 'English'
except 
select enrollNo from tbl where grp = 'Maths'
------------------------------Output------------------------------
/*
enrollNo
-----------
2
3
*/

You can learn more useful commands like Intersect, except, union etc.

Happy Coding! :)
   

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)




CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100