Sql server 不确定使用联接的简单SQL查询有什么问题?
不幸的是,我是SQL的新手,正在使用SQL Server创建非常简单的查询,但我有一些问题,我不确定如何解决 对于第一个,我必须注释掉日期,以使其工作,否则一切都是空白的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
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)