none
SQL 多列主键 和 外键已建立,join on 后面的代码怎么写? RRS feed

  • 问题

  • 1.有2个表:资产表、合同表 都有相同的三列,分别是:所在城市、所在路段、门牌号。

     2.所在城市、所在路段、门牌号为资产表的 多列主键,同时也是合同表的多列外键。

    3.使用join 连接两个表。

    4.编写select条件,我是这样写的,但是我觉得这样写不准确:

    select * from 合同表 a join 资产表 b

    on a.所在地市=b.所在地市 and a.所在路段=b.所在路段 and a.门牌号=b.门牌号

    参考语法,比如: alter table 资产表 add constraint FK_合同表_资产表 primary key (所在地市,所在路段,门牌号)

    primary key (所在地市,所在路段,门牌号)是用()括起来,我觉得应该是这样写,但是报错

    select * from 合同表 a join 资产表 b

    on a.(所在地市,所在路段,门牌号)=b.(所在地市,所在路段,门牌号) 求正解!!!

     

    ======================================================================

     2楼的回答是我现在在用的代码,但我觉得这段代码应该不是正确代码!
      比如我现在要选择的条件是:所在地市、所在路段相同而门牌号不同的集合,代码如下:

    select *
    from 合同表 a , 资产表 b
    where a.所在地市=b.所在地市 and a.所在路段=b.所在路段 and a.门牌号<>b.门牌号

     

    得到的是个巨大错误数据集!(*号比如是  a.合同表年租金,b.资产表租赁户名)
      
       请问:所在地市、所在路段相同而门牌号不同的集合的代码应该怎么写?

     

    C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。希望看在党国的面子上拉兄弟一把!


    2011年4月12日 4:52

答案

全部回复