A表
名称      产地           ID        编码
茄子          1           111          aaa
萝卜        2             222           bbb
白菜        3             333          cccB表
检测项目     检测结果     检验时间      参照标准    检测编码    名称
77                 88                  99             1010         1111         茄子
66                 22                  55             666             444          萝卜
WW            EEE                   999          888              333         白菜C表
物流方式       车牌号           司机姓名       名称
abab             baba                 afaf           茄子
qeqe            eqeq                   dfdf          萝卜
erer               rere                      uuu        白菜想要查询编码为“bbb”的产品的所有信息我应该用什么语句来关联着三个表啊QAQ??
本来想用“union”结果告诉我必须有相同数目的表达方式

解决方案 »

  1.   

    USE tempdb
    GO
    IF OBJECT_ID('dbo.[A]') IS NOT NULL 
    DROP TABLE dbo.[A]
    GO
    CREATE TABLE dbo.[A](
    [名称] NVARCHAR(MAX)
    ,[产地] NVARCHAR(MAX)
    ,[ID] NVARCHAR(MAX)
    ,[编码] NVARCHAR(MAX)
    )
    GO
    SET NOCOUNT ON
    INSERT INTO dbo.[A] VALUES(N'茄子',N'1',N'111',N'aaa')
    INSERT INTO dbo.[A] VALUES(N'萝卜',N'2',N'222',N'bbb')
    INSERT INTO dbo.[A] VALUES(N'白菜',N'3',N'333',N'ccc')
    GO
    IF OBJECT_ID('dbo.[B]') IS NOT NULL 
    DROP TABLE dbo.[B]
    GO
    CREATE TABLE dbo.[B](
    [检测项目] NVARCHAR(MAX)
    ,[检测结果] NVARCHAR(MAX)
    ,[检验时间] NVARCHAR(MAX)
    ,[参照标准] NVARCHAR(MAX)
    ,[检测编码] NVARCHAR(MAX)
    ,[名称] NVARCHAR(MAX)
    )
    GO
    SET NOCOUNT ON
    INSERT INTO dbo.[B] VALUES(N'77',N'88',N'99',N'1010',N'1111',N'茄子')
    INSERT INTO dbo.[B] VALUES(N'66',N'22',N'55',N'666',N'444',N'萝卜')
    INSERT INTO dbo.[B] VALUES(N'WW',N'EEE',N'999',N'888',N'333',N'白菜')
    GO
    IF OBJECT_ID('dbo.[C]') IS NOT NULL 
    DROP TABLE dbo.[C]
    GO
    CREATE TABLE dbo.[C](
    [物流方式] NVARCHAR(MAX)
    ,[车牌号] NVARCHAR(MAX)
    ,[司机姓名] NVARCHAR(MAX)
    ,[名称] NVARCHAR(MAX)
    )
    GO
    SET NOCOUNT ON
    INSERT INTO dbo.[C] VALUES(N'abab',N'baba',N'afaf',N'茄子')
    INSERT INTO dbo.[C] VALUES(N'qeqe',N'eqeq',N'dfdf',N'萝卜')
    INSERT INTO dbo.[C] VALUES(N'erer',N'rere',N'uuu',N'白菜')
    -------- 以上为测试表及测试数据 -----------
    SELECT * 
    FROM A INNER JOIN B ON A.名称=B.名称
    INNER JOIN C ON A.名称=C.名称不过, 这个题不太好, 一般表之间关联, 需要用 id  。
      

  2.   

    用join 关联
      

  3.   


    select * from A 
    inner join A.名称=B.名称
    inner join A.名称=C.名称
    话说你这个表产品名称是主键?名称重复怎么办?用内码做关联比较好啊
      

  4.   

    手快 写错了。。select * from A 
    inner join B on A.名称=B.名称
    inner join C on A.名称=C.名称