鉴于表创建SQL和插入SQL,我将如何生成一个查询以特定方式显示信息?如何使用内部连接查询多个表?
CREATE TABLE cities (
id serial NOT NULL UNIQUE PRIMARY KEY,
iname varchar(100) NOT NULL UNIQUE
)
CREATE TABLE suburbs (
id serial NOT NULL UNIQUE PRIMARY KEY,
icity integer REFERENCES cities (id),
iname varchar(100) NOT NULL UNIQUE
)
CREATE TABLE type (
id serial NOT NULL UNIQUE PRIMARY KEY,
iname varchar(100) NOT NULL UNIQUE
)
CREATE TABLE sale (
id serial NOT NULL UNIQUE PRIMARY KEY,
iname varchar(100) NOT NULL UNIQUE
)
CREATE TABLE estate (
id serial NOT NULL UNIQUE PRIMARY KEY,
icity integer REFERENCES cities (id),
isuburb integer REFERENCES suburbs (id),
itype integer REFERENCES type (id),
isale integer REFERENCES sale (id),
idescription text,
itimestamp timestamp DEFAULT CURRENT_TIMESTAMP
)
INSERT INTO cities (iname) VALUES ('Johannesburg');
INSERT INTO suburbs (icity, iname) VALUES (1, 'Westbury');
INSERT INTO type (iname) VALUES ('Room');
INSERT INTO sale (iname) VALUES ('Rent');
INSERT INTO estate (icity, isuburb, itype, isale, idescription) VALUES (1, 1, 1, 1, 'A Nice place in a real bad neighbor hood');
现在我希望表格中的数值通过它们表示的字符串值来显示。
E.G 1约翰内斯堡,韦斯特伯里,房间,出租,说明
将SQL查询是这个道理,我在使用PostgreSQL更关心。
字面上**所有值的**,像每一个单柱?这是MySQL还是PostgreSQL? – Yuck 2012-03-06 15:48:14
你想在每个表的所有列上做一个'JOIN'?任何你想要这样做的理由? – Karlson 2012-03-06 15:50:38
@Yuck我正在从使用MySQL转换到PostgreSQL,所以它会是postgreSQL,那么从每个表的某些值中,某些表被用作参考表。 – Aaron 2012-03-06 15:50:51