大家好,
我需要一些帮助,以使用SQL SELECT ALL组合到2个表
表帐户
ID| USNM | PSSWRD | DEPT | TYPE | FNAME | LNAME<br>
1 | user1 | 1234 | fin | user | Juan | Cruz<br>
2 | user2 | 5678 | it | sup |John | Cross
表adminAccounts
ID | USNM | PSSWRD | DEPT | TYPE | FNAME | LNAME <br>
1 | admin| admin | all | admin| Boss | Owner <br>
连接2个表后所需的输出
表帐户
ID | USNM | PSSWRD | DEPT | TYPE | FNAME | LNAME <br>
1 | user1| 1234 | fin | user | Juan | Cruz <br>
2 | user2| 5678 | it | sup | John | Cross <br>
3 | admin| admin | all | admin| Boss | Owner <br>
对于这种SQL语句,我真的一无所知,因为一些在线参考将2个表和不同的列组合在一起。我真的很感谢为这个基本问题提供用于选择2个表的SQL语句的帮助。
我目前正在使用具有每个部门帐户登录功能的库存系统。
使用(OleDbDataAdapter da =新的OleDbDataAdapter(“ SELECT * FROM accounts”,con))
答案 0 :(得分:1)
您可以使用工会
select ID,USNM ,PSSWRD ,DEPT ,TYPE , FNAME ,LNAME from accounts
union all
select ID,USNM ,PSSWRD ,DEPT ,TYPE , FNAME ,LNAME from adminAccounts
答案 1 :(得分:1)
UNION [ALL]
似乎是显而易见的解决方案,但它不会重新设置id列。
因此,您还需要row_number()
:
select row_number() over (order by which, id) as id,
USNM, PSSWRD, DEPT, TYPE, FNAME, LNAME
from ((select t1.*, 1 as which
from table1 t1
) union all
(select t2.*, 2 as which
from table2 t2
)
) t;
答案 2 :(得分:0)
尝试联合选择。
SELECT * FROM t1
UNION
SELECT * FROM t2
联合将两个选择语句的结果组合在一起。重要的是它们必须具有相同的列。参见W3 Schools SQL Union
答案 3 :(得分:0)