问题描述
我的数据库的“主”表中有一个外键(例如,整数类型的 FK_Id)。 FK_Id 引用了“Users”表,其中包含 FirstName 和 LastName 列。
我可以运行什么 sql 命令将主表中的外键连接到“用户”表,同时将 FirstName 和 LastName 列连接成一个全名?
更多背景:
CREATE TABLE main(
Id INTEGER PRIMARY KEY AUTOINCREMENT,FK_Id INTEGER,FOREIGN KEY(FK_Id) REFERENCES Users(Id)
);
(注意:实际上,主表中有更多的列,但为了简单起见,我将它们排除在外)。
CREATE TABLE Users(
Id INTEGER PRIMARY KEY AUTOINCREMENT,FirstName TEXT,LastName TEXT
);
理想情况下,我想要一个结果,其中 FK_Id 列中的“主”表现在包含用户表中的 FirstName + " " + LastName。
我知道如何连接,并且我知道如何将一个外键连接到 one 列...我的问题是 1) 在与连接相同的调用中连接(如果可能) 2)使用一个外键引用/连接两列(名字和姓氏)
谢谢。
解决方法
选择 a.Id,b.FirstName + ' ' + b.LastName from main a join Users b on a.FK_id = b.Id
名字和姓氏根本与连接键无关。