2

我无法弄清楚如何从另一个表中获取列信息,然后是我通过 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,这就是所有信息。再次谢谢你!

4

2 回答 2

2

在我看来,你想要的是一个 JOIN。

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

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

于 2013-08-01T14:19:44.023 回答
1

好的。所以你需要了解JOINS

SELECT Name, Age, table.Grant, table2.grantreturn
FROM table
     inner join table2 on table.grant = table2.grant

http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

于 2013-08-01T14:19:18.350 回答