Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql (按类别分类和分组) 使用CTE选择具有类别和最小百分比的单独条件检查的数据 使用UNION仅获取不同的记录作为最终输出 让我先告诉你几件事,我的代码是一个,但那一次我只有一个表,而不是三个表。所有信息都存储在一个表中。在DB中进行更改后,我不知道如何在q_Sql_Sql Server_Select - Fatal编程技术网

Sql (按类别分类和分组) 使用CTE选择具有类别和最小百分比的单独条件检查的数据 使用UNION仅获取不同的记录作为最终输出 让我先告诉你几件事,我的代码是一个,但那一次我只有一个表,而不是三个表。所有信息都存储在一个表中。在DB中进行更改后,我不知道如何在q

Sql (按类别分类和分组) 使用CTE选择具有类别和最小百分比的单独条件检查的数据 使用UNION仅获取不同的记录作为最终输出 让我先告诉你几件事,我的代码是一个,但那一次我只有一个表,而不是三个表。所有信息都存储在一个表中。在DB中进行更改后,我不知道如何在q,sql,sql-server,select,Sql,Sql Server,Select,(按类别分类和分组) 使用CTE选择具有类别和最小百分比的单独条件检查的数据 使用UNION仅获取不同的记录作为最终输出 让我先告诉你几件事,我的代码是一个,但那一次我只有一个表,而不是三个表。所有信息都存储在一个表中。在DB中进行更改后,我不知道如何在queryYou说您编写了所有代码,但不知道如何连接这三个表并重用这些代码?我尝试使用连接,但没有得到任何结果。。。有人在这方面帮我Raj你能帮我吗?你说“什么都没得到”是什么意思?你有没有试着加入桌子从表1中选择*作为t1内部联接表2作为t1上

(按类别分类和分组)
  • 使用CTE选择具有类别和最小百分比的单独条件检查的数据
  • 使用UNION仅获取不同的记录作为最终输出
    让我先告诉你几件事,我的代码是一个,但那一次我只有一个表,而不是三个表。所有信息都存储在一个表中。在DB中进行更改后,我不知道如何在queryYou说您编写了所有代码,但不知道如何连接这三个表并重用这些代码?我尝试使用连接,但没有得到任何结果。。。有人在这方面帮我Raj你能帮我吗?你说“什么都没得到”是什么意思?你有没有试着加入桌子<代码>从表1中选择*作为t1内部联接表2作为t1上的t2。RollNo=t2.id内部联接表3作为t2上的t3.id=t3.id我想要查询中的确切学生人数。例如,我想要sc类别的5名学生和st类别的10名学生,这在你的查询中是如何实现的..我将感谢你的帮助..我想在工作查询中使用join。。不仅仅是我提出了这个问题sumbody在这方面帮助了我你如何决定你需要选择5个或10个学生?最高百分比?如果它们中的任何一个具有相同的百分比,您将需要添加某种附加类型。那会是什么呢?如果其中任何一个有相同的百分比,那么我们需要根据类别对它们进行排序。如果两名学生(1名来自SC,1名来自OBC)的比例相同,则优先选择i OBC学生。
    |  Roll No   | Applicant Name|   Gender   | Category   | Father's Name  |
    |------------|---------------|------------|------------|----------------|
    |     001    |          A    |          M |      SC    |      as        |
    |     002    |          B    |          F |      ST    |      hg        |
    |     003    |          C    |          F |      ST    |      yj        |
    |     004    |          D    |          M |      OBC   |      uy        |
    |     005    |          E    |          F |      SC    |      bn        |
    |     006    |          F    |          M |      OBC   |      kl        |
    |     007    |          E    |          F |      Gen   |      bn        |
    |     008    |          F    |          M |      OBC   |      vg        |
    |     009    |          E    |          F |      Gen   |      gh        |
    |     010    |          F    |          M |      SC    |      we        |
    |------------|---------------|------------|------------|----------------|
    
    |     ID     |    Semester   |   Major    | Applied Course|
    |------------|---------------|------------|---------------|
    |     001    |          1    |    English |      B.A      |
    |     002    |          1    |    English |      B.A      |
    |     003    |          1    |    History |      B.A      |
    |     004    |          1    |    botany  |      B.Sc     |
    |     005    |          1    |    Hindi   |      B.A      |
    |     006    |          1    |    History |      B.A      |
    |     007    |          1    |    Maths   |      B.A      |
    |     008    |          1    |    Hindi   |      B.A      |
    |     009    |          1    |    History |      B.A      |
    |     010    |          1    | Pol.Science|      B.A      |
    |------------|---------------|------------|---------------|
    
    |     ID     |Plus2Percentage|
    |------------|---------------|
    |     001    |         60    |
    |     002    |         65    |
    |     003    |         70    |
    |     004    |         73    |
    |     005    |         87    |
    |     006    |         91    |
    |     007    |         59    |
    |     008    |         78    |
    |     009    |         88    |
    |     010    |         57    |
    |------------|---------------|-
    
    |   Roll No  |Plus2Percentage|  Category |
    |------------|---------------|-----------|
    |     005    |         87    |    SC     |
    |     001    |         60    |    SC     |
    |     003    |         70    |    ST     |
    |     002    |         65    |    ST     |
    |     006    |         91    |   OBC     |
    |     009    |         88    |   Gen     |
    |     008    |         78    |   OBC     |
    |------------|---------------|-----------|
    

    WITH PRIMARY_CHOICE AS ( SELECT RollNo, ApplicantName, FatherName, Gender, Major, Category, Plus2Percentage FROM ( SELECT RollNo, ApplicantName, FatherName, Gender, Semester, Major, AppliedCourse, Category, Plus2Percentage, row_number() over (partition by Category, Semester, Major, AppliedCourse order by Plus2Percentage desc) as rn FROM [College Management System].[dbo].[ApplicantPersonalDetail] ) as T WHERE rn <= CASE WHEN Category='SC' AND Semester='1' AND AppliedCourse= 'B.A' AND Plus2Percentage >= '60' THEN '2' WHEN Category='ST' AND Semester= '1' AND AppliedCourse= 'B.A' AND Plus2Percentage >= '65'THEN '2' WHEN Category='OBC' AND Semester= '1' AND AppliedCourse= 'B.A' AND Plus2Percentage >= '60' THEN '1' ELSE 0 END ) SELECT RollNo, ApplicantName, FatherName, Gender, Major, Category, Plus2Percentage FROM PRIMARY_CHOICE UNION ALL SELECT RollNo, ApplicantName, FatherName, Gender, Major, Category, Plus2Percentage FROM ( SELECT RollNo, ApplicantName, FatherName, Gender, Semester, Major, AppliedCourse, Category, Plus2Percentage, row_number() over (partition by Semester, Major1, AppliedCourse order by Plus2Percentage desc) as rn FROM [College Management System].[dbo].[ApplicantPersonalDetail] x WHERE NOT EXISTS ( select 1 from primary_choice y where x.RollNo = y.RollNo ) ) AS T2 WHERE rn <= 2 AND Semester = @semester AND AppliedCourse = 'B.A' AND Plus2Percentage >= 70 order by Plus2Percentage desc
    SELECT RollNo, Plus2Percentage, Category 
    FROM TABLE1 a
    INNER JOIN Table3 b on a.rollno=b.id
    WHERE a.category='SC' and b.Plus2Percentage>=60
    
    CREATE PROCEDURE usp_SelectCategorywiseData 
    AS 
    BEGIN 
    SET NOCOUNT ON;
    
        DECLARE  @tbl_LIST TABLE (RollNo int, [Plus2Percentage] int, Category varchar(10));
    
        WITH CTE AS 
        (
          SELECT A.RollNo, P.Percentage AS [Plus2Percentage], A.Category
          , row_number() OVER (PARTITION BY A.Category ORDER BY P.Percentage DESC) AS Rank 
          FROM APPLICANT A INNER JOIN  Plus2Percentage P ON A.RollNo = P.ID
        )
    
    
        INSERT INTO @tbl_LIST
        SELECT RollNo, Plus2Percentage as [Plus2Percentage], Category 
        FROM CTE 
        WHERE rank <= 
        CASE 
            WHEN Category='SC' AND [Plus2Percentage] >= '60' THEN '2' 
            WHEN Category='ST' AND [Plus2Percentage] >= '60' THEN '2' 
            WHEN Category='OBC' AND [Plus2Percentage] >= '55' THEN '1' 
        ELSE 0 
        End
    
    
        INSERT INTO @tbl_LIST
        SELECT TOP 2 A.RollNo, P.Percentage as [Plus2Percentage], A.Category 
        FROM APPLICANT A INNER JOIN  Plus2Percentage P ON A.RollNo = P.ID
        WHERE Percentage > 70 and RollNo NOT IN (SELECT RollNo FROM @tbl_LIST) ORDER BY P.Percentage DESC
    
        SELECT * FROM @tbl_LIST 
    END