Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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 不确定使用联接的简单SQL查询有什么问题?_Sql Server_Join - Fatal编程技术网

Sql server 不确定使用联接的简单SQL查询有什么问题?

Sql server 不确定使用联接的简单SQL查询有什么问题?,sql-server,join,Sql Server,Join,不幸的是,我是SQL的新手,正在使用SQL Server创建非常简单的查询,但我有一些问题,我不确定如何解决 对于第一个,我必须注释掉日期,以使其工作,否则一切都是空白的 SELECT VendorName, InvoiceNumber, InvoiceDate, InvoiceTotal FROM Vendors JOIN Invoices ON Vendors.VendorID = Invoices.VendorID WHERE InvoiceDat

不幸的是,我是SQL的新手,正在使用SQL Server创建非常简单的查询,但我有一些问题,我不确定如何解决

对于第一个,我必须注释掉日期,以使其工作,否则一切都是空白的

SELECT 
    VendorName, InvoiceNumber, InvoiceDate, InvoiceTotal
FROM 
    Vendors 
JOIN 
    Invoices ON Vendors.VendorID = Invoices.VendorID
WHERE 
    InvoiceDate < 6/1/2008 
ORDER BY 
    VendorName;
最后,这个(我的其他查询工作正常)不起作用。它应该连接3个表,并通过
VendorID
VendorName
排序来过滤结果,然后我一直得到这个错误:

将varchar值“115、122、123”转换为数据类型int时,转换失败

如果有人能提供任何建议,我们将不胜感激,谢谢

WHERE Vendors.VendorID = '115, 122, 123'
对于
where
子句中的多个项目,正确的语法是
IN(value,value…

对于
where
子句中的多个项目,正确的语法是
IN(value,value…


日期比较应如下所示,并加上引号。它将匹配您的日期数据库格式

WHERE InvoiceDate < '6/1/2008' 

日期比较应如下所示,并加上引号。它将匹配您的日期数据库格式

WHERE InvoiceDate < '6/1/2008' 

第一个查询的问题是日期文字应该是单引号。第一个查询的问题是日期文字应该是单引号。1。在你的约会中试试这个:
'2008-06-01'
(即6月1日)2。额外的栏目叫什么?你看到多少,你想要多少?我希望有3列。我们怎么知道你不想要哪一个?。最后使用(115122123)Hm中的
,我仍然对日期有相同的问题(我以前尝试过这种格式),现在我没有看到额外的列?我的错误,我道歉。谢谢你的帮助!也许你的数据中有时间成分。在“2008-05-29”和“2008-06-02”之间尝试
。你看到什么了吗?尝试将其完全移除。你看到什么了吗?当你评论出来的时候,日期回来时是什么样子的?张贴样品。列的数据类型是什么
InvoiceDate
。我们在这里遇到的大多数作业问题都不起作用,非常令人失望。正确。您的
WHERE
子句使其不返回任何行。1。在你的约会中试试这个:
'2008-06-01'
(即6月1日)2。额外的栏目叫什么?你看到多少,你想要多少?我希望有3列。我们怎么知道你不想要哪一个?。最后使用(115122123)
Hm中的
,我仍然对日期有相同的问题(我以前尝试过这种格式),现在我没有看到额外的列?我的错误,我道歉。谢谢你的帮助!也许你的数据中有时间成分。在“2008-05-29”和“2008-06-02”之间尝试
。你看到什么了吗?尝试将其完全移除。你看到什么了吗?当你评论出来的时候,日期回来时是什么样子的?张贴样品。列的数据类型是什么
InvoiceDate
。我们在这里遇到的大多数作业问题都不起作用,非常令人失望。正确。
WHERE
子句使其不返回任何行。
WHERE InvoiceDate < '6/1/2008' 
Vendors.VendorID IN (115, 122, 123)