我在查明如何从不同的表中获取列信息时遇到问题,然后通过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,这是所有信息。再次谢谢你!
答案 0 :(得分:2)
听起来像你想要的是一个加入。
SELECT t1.name, t1.age, t2.grantReturn
FROM Table1 t1
JOIN Table2 t2 ON t1.Grant = t2.Grant
sql join(在本例中为内部联接)将从第一个表中获取行,并在给定条件下将它们与第二个表上的行匹配。在这种情况下,它表示,对于表1中的每个表,在表2中找到具有相同Grant的行。然后在select语句中,您可以从该表返回所需的任何其他数据。
答案 1 :(得分: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