【问题标题】:How do I query columns from multiple tables?如何从多个表中查询列?
【发布时间】:2020-08-02 03:17:57
【问题描述】:

我需要编写一个SELECT 查询来报告表中的特定数据。我的问题是我需要报告的一列被规范化到另一个表中。

我需要报告位于表 Consultant 中的 C/SRep。 FK ConsultantID 位于表 Clients 内。

SELECT 
    ClientName, Country, City, State, Province, Zip, 
    [Address 1], [Address 2], InvestorContact, ConsultantID
FROM
    Clients
INNER JOIN 
    Consultant ON ConsultantID = C/SRep

以上几行是我尝试过的一件事。

结果:

消息 209,第 16 级,状态 1,第 3 行
不明确的列名称“ConsultantID”

消息 207,第 16 层,状态 1,第 3 行
列名“C”无效

消息 207,第 16 层,状态 1,第 3 行
列名“SRep”无效

消息 209,第 16 级,状态 1,第 1 行
不明确的列名称“ConsultantID”

【问题讨论】:

    标签: sql sql-server join select


    【解决方案1】:

    在编写查询时对所有列引用进行限定,您将永远不会遇到这个问题。当然,我不知道数据,但想法是:

    SELECT cl.ClientName, cl.Country, cl.City, cl.State, cl.Province, cl.Zip, cl.[Address 1], cl.[Address 2],
           co.InvestorContact, co.ConsultantID
    FROM Clients cl JOIN
         Consultant co
         ON cl.ConsultantID = co.ConsultantID;
    

    我只是弥补了列的来源。

    【讨论】:

    • 如何限定所有列引用?感谢您的回复!
    • @JMBurnworth 。 . .通过包含列来自的表的别名。
    • SELECT Clients.ClientName、Clients.Country、Clients.City、Clients.State、Clients.Province、Clients.Zip、Clients.[Address 1]、Clients.[Address 2]、Clients.InvestorContact , Consultant.[C/SRep] FROM Clients JOIN Consultant ON Clients.ConsultantID=Consultant.ConsultantID;
    • @Sujitmohanty30 是的。谢谢你的检查。正在尝试获取有关将数据类型 nvarchar 转换为数字时出错的帮助 x.x
    • @DaleK 我已经支持 GordonLinoff 的回答,但不知道如何接受。我还在学习这个网站的布局,当我试图找到解决问题的方法时非常累。我现在已经接受了答案。感谢您的检查。
    【解决方案2】:

    您可能还想学习一个基本的 sql 课程,就像这里的 https://www.w3schools.com/sql/ 您提出的问题表明您缺少一些使用 sql 的相关知识

    【讨论】:

      猜你喜欢
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-17
      • 2016-12-12
      • 1970-01-01
      • 2011-07-26
      • 1970-01-01
      相关资源
      最近更新 更多