1
我有2个表,一个是一组真实姓名,另一个是为这些人设置的别名集合。我想从实名表中选择,但在实名的每个值中包含别名表中的所有值。我会怎么做呢?SQL:将别名添加到列值
CREATE TABLE PEOPLE(
ID SERIAL PRIMARY KEY,
NAME VARCHAR(64)
);
INSERT INTO PEOPLE(NAME)VALUES('BRUCE'),('CLARK'),('STEVE');
CREATE TABLE ALIASES(
ID SERIAL PRIMARY KEY,
PID INTEGER REFERENCES PEOPLE(ID),
NAME VARCHAR(64)
);
INSERT INTO ALIASES(PID,NAME)VALUES
(1,'BATMAN'),(2,'SUPERMAN'),(3,'CAPTAIN AMERICA'),(1,'THE DARK KNIGHT');
我想结果看下面,以便我可以对该列值进行全文搜索。
> SELECT NAME FROM PEOPLEALIASED;
NAME
-----
BRUCE BATMAN THE DARK KNIGHT
CLARK SUPERMAN
STEVE CAPTAIN AMERICA
有没有一些方法来concocnate 2列这将返回到1列? – HSchmale
将它从p.name,string_agg(a.name,',')更改为p.name || string_agg(a.name,'') – Gary