c# - SQL 表根据带有存储过程的 IF 语句从另一个表获取信息

标签 c# asp.net sql select

我在弄清楚如何从与我通过 SELECT 命令访问的表不同的表获取列信息以及如何根据 IF 语句选择该列的某些单元格时遇到问题。 SQL 代码如下:

    SELECT Name, Age, Grant
    FROM table

现在,通过授予选择,我想访问另一个表(授予所在的位置有一个 IF 语句)。将有 2 个不同的授予值,即“a”和“b”。当授权为“a”时,您将选择第二个表的第一列、第一行,而“b”变量将选择表 2 中第一列的第二行。如果这不能仅在SQL 然后我也在使用 asp.net/C#,但我更喜欢用 SQL 完成。我还使用 asp:SqlDataSource 从 SQL 服务器收集数据。我预先感谢大家的帮助!

表格:

    table 1: with name, age and grant 
    --------------------
    |name    |Age|Grant|
    --------------------
    |jeff    |16 | A   |
    --------------------
    |jake    |21 | B   |
    -------------------- 

    table 2: with grant and grantReturn 
    -------------------
    |grantReturn|Grant|
    -------------------
    |spring     |  A  |
    -------------------
    |wintwe     |  B  |
    -------------------

抱歉,如果表格做得不太好。表 1 有更多信息,但我认为对于两个拥有不同补助金的人来说,我会保持简单。表 2 就是所有信息。再次感谢您!

最佳答案

在我看来,您想要的是 JOIN。

SELECT t1.name, t1.age, t2.grantReturn
FROM Table1 t1
JOIN Table2 t2 ON t1.Grant = t2.Grant

sql 连接(在本例中为内部连接)将从第一个表中获取行,并在给定条件下将它们与第二个表中的行进行匹配。在这种情况下,它表示,对于表 1 中的每个表,找到表 2 中具有相同授予的行。然后,在 select 语句中,您可以从该表中返回您想要的任何其他数据。

关于c# - SQL 表根据带有存储过程的 IF 语句从另一个表获取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17996252/

相关文章:

c# - : List<T>. Add() 或 System.Array.Resize() 哪个更有效?

c# - C#中灵活的对象创建

c# - ASP.NET Core 2.1 Web API 添加JWT 认证的同时,是否需要像AspNetUsers 这样创建表?

c# - 为什么这个按钮的 OnClick 事件只工作一次?

mysql - 更改 mysql 编码的危险

mysql - 如何删除所有外键约束?

c# - 使用 C# 动态读取 XML 和执行函数

c# - 适用于 Windows Phone 8 的简单 SD 卡兼容数据库/NoSql 解决方案

c# - 具有可为空 Guid 的 PetaPoco ExecuteScalar

mysql - sql中记录的两级计数