是否可以选择多个表作为SQL中的一个大表来查看?

时间:2013-12-03 02:47:10

标签: sql db2 ibm-midrange db2-400

所以我正在使用IBM i / System i的DB2脚本(以及使用Collection而不是Schema的旧版本)

我注意到必须继续输入

变得乏味

“为每个表选择*来自mycollectionName.whatever”。

无论如何,我可以从多个表中进行选择并让它在一个大表中显示所有信息吗?

示例:

CREATE TABLE UMALIK8.ADULTS (
ADULT_NUM VARCHAR (10) NOT NULL CONSTRAINT UMALIK8.ADULTS_PK PRIMARY KEY,
ADULT_L_NAME CHAR (50) NOT NULL,
ADULT_F_NAME CHAR (50) NOT NULL,
RELATIONSHIP CHAR (30) NOT NULL,
STREET VARCHAR (50) NOT NULL,
APT_NUM VARCHAR (10),
CITY CHAR (50) NOT NULL,
POSTAL_CODE VARCHAR (6) NOT NULL,
HOMEPHONE VARCHAR (20) NOT NULL,
WORKPHONE VARCHAR (20));

CREATE TABLE UMALIK8.EMPLOYEE (
EMP_NUM VARCHAR (10) NOT NULL,
EMP_L_NAME CHAR (50) NOT NULL,
EMP_F_NAME CHAR (50) NOT NULL,
PAYRATE DECIMAL (10, 2) NOT NULL,
POSNCODE VARCHAR (10) NOT NULL,
HIREDATE DATE NOT NULL,
CONSTRAINT UMALIK8.EMPLOYEE_PK PRIMARY KEY (EMP_NUM),
CONSTRAINT UMALIK8.EMPLOYEE_FK FOREIGN KEY (POSNCODE)
REFERENCES UMALIK8.POSITION(POSNCODE));

我有这两个表,我已经为他们创建了我的Insert语句。

现在我想选择它们并在大表中查看它们,而不必切换标签(在System i Navigator的Run Script中)。

这可能吗?为我创建的每个表创建单独的select语句是否更好?

我会按照这个方针做点什么吗?

Select * From umalik8.Adults, umalik8.Employee
    WHERE umalik8.Adults = umalik8.Employee

修改

好的,所以我很幸运并尝试了这个

SELECT TABLE_NAME 
    FROM UMALIK8.SYSTABLES;     


SELECT COLUMN_NAME, TABLE_NAME
    FROM UMALIK8.syscolumns;   

它几乎可以工作......它向我显示了每个选项卡中的所有表格和所有列,除了插入的内容(记录)。

非常感谢所有帮助!

1 个答案:

答案 0 :(得分:3)

我不确定这是否可行,但有关joins的{​​{3}}教程可能是一个很好的阅读。

this用于您的iSeries / IBM i版DB2。