SQL从2个字段连接到一个连接字段

SQL从2个字段连接到一个连接字段,sql,sql-server,Sql,Sql Server,我在一个表(PING)中有一个quote ID字段,其格式如下:“XX”(这只是quote编号的前导),后跟用户ID“yyy”,然后是购物车ID“ZZZZ”。第二个字段都来自另一个表(购物车)。我需要将购物车加入第一张桌子。这两个字段是连接它们的唯一方法,但我不知道如何将两个字段连接到另一个表中的一个字段。显然,下面的代码不起作用,但用于说明 join PROD..CART on Cart.CART_ID and Cart.USERID = CW_PING.QuoteID 尝试: 试试这个:

我在一个表(PING)中有一个quote ID字段,其格式如下:“XX”(这只是quote编号的前导),后跟用户ID“yyy”,然后是购物车ID“ZZZZ”。第二个字段都来自另一个表(购物车)。我需要将购物车加入第一张桌子。这两个字段是连接它们的唯一方法,但我不知道如何将两个字段连接到另一个表中的一个字段。显然,下面的代码不起作用,但用于说明

 join PROD..CART on Cart.CART_ID and Cart.USERID = CW_PING.QuoteID
尝试:

试试这个:

join PROD..CART on CONCAT(Cart.CART_ID,Cart.USERID) = CW_PING.QuoteID

这是最终的解决方案:


join PROD\u QQ..QQ+上的CART(右('0000000000'+CAST(CART.USERID为varchar),4)+(右('0000000000'+CAST(CART.CART\u ID为varchar),6))

我为RDBMS添加了一个标记。这是SQL Server。您是否尝试在CART.CART_ID+CART.USERID=CW_PING.QuoteID上加入PROD..CART来连接这些值?
+
用于连接SQL Server中的数据。我现在这样做了,看起来它会起作用。我如何解释必须在前面的“XX”?我能简单地说:在'XX'上加入PROD..CART+CART.CART_ID+CART.USERID=CW_PING.quoteid试试看它是否有效。:)我已将这两个字段强制转换为varchar以匹配“XX”。它跑过去了!只需要找出还有什么问题。没有收到任何数据。只有select语句中的字段。尝试此操作时,我得到了无效的列名。方括号使其看起来像是实际的列名,这将正确地引发错误。是否您打算使用圆括号而不是方括号?是的,方括号是一个哑巴。
CONCAT()
功能在SQL Server的每个版本中都不起作用。你确定这对OP有效吗?
join PROD..CART on CONCAT(Cart.CART_ID,Cart.USERID) = CW_PING.QuoteID