left inner join left outer join right inner join right outer join
select * from A inner join B on A.f1=B.c1 or A.f2=B.c1 不过这样的表设计应该是有问题的。
已经解决! 这样写就可以了 select B.c2, D.c2, A.f3 from (( A inner join B on A.f1=B.c1)inner join B as D on A.f2=D.c1).A表中建立两个外键,分别是 f1->C1和f2-C1。 这样的话,SELECT语句就只能这样写:B.c2, B.c2,虽然我再f1,f2中保存了不同的值来指向B中的两条记录,但实际得到的检索结果一样的。select * from A inner join B on A.f1=B.c1 or A.f2=B.c1 如果用OR的话,这样会出来很多条结果!而实际上我要检索的知识一条。只是这一条记录中的两个值从同一个表中取得而已。 这样设计数据库是为了将一个树形的数据用一张表表示。因为客户要求有一个类别的数据是可以由用户随意增加子类的。 结贴!
left outer join
right inner join
right outer join
不过这样的表设计应该是有问题的。
这样写就可以了
select B.c2, D.c2, A.f3 from (( A inner join B on A.f1=B.c1)inner join B as D on A.f2=D.c1).A表中建立两个外键,分别是 f1->C1和f2-C1。
这样的话,SELECT语句就只能这样写:B.c2, B.c2,虽然我再f1,f2中保存了不同的值来指向B中的两条记录,但实际得到的检索结果一样的。select * from A inner join B on A.f1=B.c1 or A.f2=B.c1
如果用OR的话,这样会出来很多条结果!而实际上我要检索的知识一条。只是这一条记录中的两个值从同一个表中取得而已。
这样设计数据库是为了将一个树形的数据用一张表表示。因为客户要求有一个类别的数据是可以由用户随意增加子类的。
结贴!