query to return only one kind of data












0















I was not sure what to put in the title. I have a
SCHOOL table, with:



id, 
name,
type_id


columns.



A SCHOOL_STUDENT table with:



school_id,
student_id


columns

and a SCHOOL_TYPE table with



id, 
name


columns.



Students can be enrolled in more than one schools. A school can be of only one type. Given a student I want to check if he/she is enrolled in schools with only type(high shcool), and no other schools.



I am trying this but I know it lacks something but what it lacks, I don't seem to work it out.



select
bc.customer_id, bt.name, count(bt.[name])
from
school_type st join school s on s.type_id = st.id
join school_student ss on ss.school_id = s.id
where
ss.student_id = 1234
group by
ss.student_id, st.name


May be use HAVING? or CASE?










share|improve this question

























  • I am not really sure what your question is - however if your query is only on the issue of count, you may try "select bc.customer_id, bt.name, count(bt.[name]) from school_type st join school s on s.type_id = st.id join school_student ss on ss.school_id = s.id where ss.student_id = 1234 group by ss.student_id, st.name having count(bt.[name]) = 1" and let us know.

    – Learning_DBAdmin
    2 mins ago


















0















I was not sure what to put in the title. I have a
SCHOOL table, with:



id, 
name,
type_id


columns.



A SCHOOL_STUDENT table with:



school_id,
student_id


columns

and a SCHOOL_TYPE table with



id, 
name


columns.



Students can be enrolled in more than one schools. A school can be of only one type. Given a student I want to check if he/she is enrolled in schools with only type(high shcool), and no other schools.



I am trying this but I know it lacks something but what it lacks, I don't seem to work it out.



select
bc.customer_id, bt.name, count(bt.[name])
from
school_type st join school s on s.type_id = st.id
join school_student ss on ss.school_id = s.id
where
ss.student_id = 1234
group by
ss.student_id, st.name


May be use HAVING? or CASE?










share|improve this question

























  • I am not really sure what your question is - however if your query is only on the issue of count, you may try "select bc.customer_id, bt.name, count(bt.[name]) from school_type st join school s on s.type_id = st.id join school_student ss on ss.school_id = s.id where ss.student_id = 1234 group by ss.student_id, st.name having count(bt.[name]) = 1" and let us know.

    – Learning_DBAdmin
    2 mins ago
















0












0








0








I was not sure what to put in the title. I have a
SCHOOL table, with:



id, 
name,
type_id


columns.



A SCHOOL_STUDENT table with:



school_id,
student_id


columns

and a SCHOOL_TYPE table with



id, 
name


columns.



Students can be enrolled in more than one schools. A school can be of only one type. Given a student I want to check if he/she is enrolled in schools with only type(high shcool), and no other schools.



I am trying this but I know it lacks something but what it lacks, I don't seem to work it out.



select
bc.customer_id, bt.name, count(bt.[name])
from
school_type st join school s on s.type_id = st.id
join school_student ss on ss.school_id = s.id
where
ss.student_id = 1234
group by
ss.student_id, st.name


May be use HAVING? or CASE?










share|improve this question
















I was not sure what to put in the title. I have a
SCHOOL table, with:



id, 
name,
type_id


columns.



A SCHOOL_STUDENT table with:



school_id,
student_id


columns

and a SCHOOL_TYPE table with



id, 
name


columns.



Students can be enrolled in more than one schools. A school can be of only one type. Given a student I want to check if he/she is enrolled in schools with only type(high shcool), and no other schools.



I am trying this but I know it lacks something but what it lacks, I don't seem to work it out.



select
bc.customer_id, bt.name, count(bt.[name])
from
school_type st join school s on s.type_id = st.id
join school_student ss on ss.school_id = s.id
where
ss.student_id = 1234
group by
ss.student_id, st.name


May be use HAVING? or CASE?







sql-server






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 1 min ago









Sabin Bio

2,0821818




2,0821818










asked 12 mins ago









user1451111user1451111

12518




12518













  • I am not really sure what your question is - however if your query is only on the issue of count, you may try "select bc.customer_id, bt.name, count(bt.[name]) from school_type st join school s on s.type_id = st.id join school_student ss on ss.school_id = s.id where ss.student_id = 1234 group by ss.student_id, st.name having count(bt.[name]) = 1" and let us know.

    – Learning_DBAdmin
    2 mins ago





















  • I am not really sure what your question is - however if your query is only on the issue of count, you may try "select bc.customer_id, bt.name, count(bt.[name]) from school_type st join school s on s.type_id = st.id join school_student ss on ss.school_id = s.id where ss.student_id = 1234 group by ss.student_id, st.name having count(bt.[name]) = 1" and let us know.

    – Learning_DBAdmin
    2 mins ago



















I am not really sure what your question is - however if your query is only on the issue of count, you may try "select bc.customer_id, bt.name, count(bt.[name]) from school_type st join school s on s.type_id = st.id join school_student ss on ss.school_id = s.id where ss.student_id = 1234 group by ss.student_id, st.name having count(bt.[name]) = 1" and let us know.

– Learning_DBAdmin
2 mins ago







I am not really sure what your question is - however if your query is only on the issue of count, you may try "select bc.customer_id, bt.name, count(bt.[name]) from school_type st join school s on s.type_id = st.id join school_student ss on ss.school_id = s.id where ss.student_id = 1234 group by ss.student_id, st.name having count(bt.[name]) = 1" and let us know.

– Learning_DBAdmin
2 mins ago












0






active

oldest

votes











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "182"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f230737%2fquery-to-return-only-one-kind-of-data%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Database Administrators Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f230737%2fquery-to-return-only-one-kind-of-data%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

SQL Server 17 - Attemping to backup to remote NAS but Access is denied

Always On Availability groups resolving state after failover - Remote harden of transaction...

Restoring from pg_dump with foreign key constraints