Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 SQLServer选择";无效的列名";但列是存在的_Sql Server 2008 - Fatal编程技术网

Sql server 2008 SQLServer选择";无效的列名";但列是存在的

Sql server 2008 SQLServer选择";无效的列名";但列是存在的,sql-server-2008,Sql Server 2008,这可能很简单,但我完全被难住了。这是我第一次进入SQLSever,我有一个简单的查询,如下所示 SELECT c.ClientID, c.FirstName, c.LastName, FORMAT(pm.date, 'd', 'en-US'), 'Payment' AS 'Description', FORMAT(0, 'C', 'en-US') AS 'Fee', FORMAT(pm.amount, 'C', 'en-US') AS 'P

这可能很简单,但我完全被难住了。这是我第一次进入SQLSever,我有一个简单的查询,如下所示

SELECT
    c.ClientID,
    c.FirstName,
    c.LastName,
    FORMAT(pm.date, 'd', 'en-US'),
    'Payment' AS 'Description',
    FORMAT(0, 'C', 'en-US') AS 'Fee',
    FORMAT(pm.amount, 'C', 'en-US') AS 'Paid',
    'WIP' AS 'Payment Type' 
FROM dbo.payments_made pm
LEFT JOIN dbo.clients c
    ON c.ID = pm.ClientID
LEFT JOIN dbo.payment_types pt
    ON pm.PaymentType = pt.ID
WHERE pm.business = 7
执行此查询时,我得到以下结果:

但是,查看表定义,ClientID列实际上是存在的。看这里


我对正在发生的事感到困惑。应该很简单。任何帮助都将不胜感激。

您的客户ID位于客户端表的Paymentmade表中,它只是命名为ID(基于您的加入)

您需要将ClientID更改为ID或更改c。给下午

因此:


阅读下面的答案。
ClientID
列存在于
payments\u made
表中,而不是
clients
表中。在
clients
表中,匹配的列是
ID
。哇,有时候我觉得我离树太近了,连树枝都看不见。:-)非常感谢。我一直在努力寻找SQL中的错误点。有点尴尬,但我很感激!
SELECT c.ID
// or 
SELECT pm.ClientID