gpt4 book ai didi

sql - 在 View 中使用带有 SQL 函数的联接

转载 作者:行者123 更新时间:2023-12-02 03:29:33 26 4
gpt4 key购买 nike

这对你们中的一些人来说可能是一个非常基本的问题,但是请对这个学习 SQL Server 的新手保持耐心。

我需要创建一个 View ,在其中尝试连接两个表中的多个列。唯一的问题是,其中一列的值包含多余字符,需要使用 RIGHT 函数或 SUBSTRING 删除这些字符,以便它能够匹配另一个表中的相应列。

这是我写的内容,但我需要有关 SerialNo 列的错误的帮助:

SELECT a.ID, 
a.SerialNo,
a.Price,
a.ItemName,
b.ID, b.SNumber,
b.ItemDesc
FROM Table1 a LEFT JOIN
Table2 b ON a.ID = b.ID AND
a.Price = b.Price AND
a.SerialNo = (SELECT RIGHT(b.SNumber, 6) AS b.SNumber from Table2)

最佳答案

您不需要子查询来处理第二个连接条件,只需直接调用 RIGHT 即可:

SELECT a.ID, a.SerialNo, a.Price, a.ItemName, b.ID, b.SNumber, b.ItemDesc
FROM Table1 a
LEFT JOIN Table2 b
ON a.ID = b.ID AND
a.Price = b.Price AND
a.SerialNo = RIGHT(b.SNumber, 6);

顺便说一句,如果您认为需要经常执行此查询,那么您可能需要考虑在 Table2 中为此连接添加一个新列,即前六个字符S编号。原因是当条件涉及函数时,连接的成本可能会非常高。而且,这种情况下一般也不能使用索引。

关于sql - 在 View 中使用带有 SQL 函数的联接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52197201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com