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