3个表
CREATE TABLE_A{
A_ID NUMBER NOT NULL,
A_VALUE VARCHAR2(10),
constraint PK_TABLE_A primary key (A_ID)
};
CREATE TABLE_B{
B_ID NUMBER NOT NULL,
B_VALUE VARCHAR2(10),
constraint PK_TABLE_B primary key (B_ID)
};
CREATE TABLE_RELAT{
A_ID NUMBER NOT NULL,
B_ID NUMBER NOT NULL,
constraint PK_TABLE_TABLE_RELAT primary key (A_ID,B_ID)
}关系是: TABLE_A <--> TABLE_RELAT <--> TABLE_B
样例数据如下(关系图可见附件):
TABLE_A
A_ID A_VALUE
1 A_VALUE_1
2 A_VALUE_2
3 A_VALUE_3TABLE_B
B_ID B_VALUE
1 B_VALUE_1
2 B_VALUE_2
3 B_VALUE_3TABLE_RELAT
A_ID B_ID
1 1
1 2
1 3
2 1
2 3
3 2
3 3现在知道A_ID=3,需要把TABLE_RELAT中相关联的数据都拿出来,方法不限,当然越优化越好啦。求求大家看在我打了这么多字的份上帮帮忙啦
CREATE TABLE_A{
A_ID NUMBER NOT NULL,
A_VALUE VARCHAR2(10),
constraint PK_TABLE_A primary key (A_ID)
};
CREATE TABLE_B{
B_ID NUMBER NOT NULL,
B_VALUE VARCHAR2(10),
constraint PK_TABLE_B primary key (B_ID)
};
CREATE TABLE_RELAT{
A_ID NUMBER NOT NULL,
B_ID NUMBER NOT NULL,
constraint PK_TABLE_TABLE_RELAT primary key (A_ID,B_ID)
}关系是: TABLE_A <--> TABLE_RELAT <--> TABLE_B
样例数据如下(关系图可见附件):
TABLE_A
A_ID A_VALUE
1 A_VALUE_1
2 A_VALUE_2
3 A_VALUE_3TABLE_B
B_ID B_VALUE
1 B_VALUE_1
2 B_VALUE_2
3 B_VALUE_3TABLE_RELAT
A_ID B_ID
1 1
1 2
1 3
2 1
2 3
3 2
3 3现在知道A_ID=3,需要把TABLE_RELAT中相关联的数据都拿出来,方法不限,当然越优化越好啦。求求大家看在我打了这么多字的份上帮帮忙啦
from TABLE_A a,
TABLE_A b,
TABLE_RELAT c
where a.a_id=c.a_id
and b._id=c.b_id
and c.a_id=3
TABLE_A
A_ID A_VALUE
1 A_VALUE_1
2 A_VALUE_2
3 A_VALUE_3
4 A_VALUE_4TABLE_B
B_ID B_VALUE
1 B_VALUE_1
2 B_VALUE_2
3 B_VALUE_3
4 A_VALUE_4TABLE_RELAT
A_ID B_ID
1 1
1 2
1 3
2 1
2 3
3 2
3 3
4 4想要的结果集如下:
1 1
1 2
1 3
2 1
2 3
3 2
3 3
1 1
1 2
1 3
2 1
2 3
3 2
3 3
你这结果
直接
select *
from
TABLE_RELAT c
where c.a_id<=3
不就行了