[英]Cast a “-” after a varchar string and then left join another table, sql
我目前在SQL Server Visual Management Studio 2012中工作。我有2個表。 Table1
有2欄; PartNumber as varchar
, dateordered as smalldatetime
。 Table2
有兩列, PartNumber as varchar
, time as float
。 table1
上的部件號長9位,看起來像是'999999999.'
table2
零件號的末尾有一個額外的"-"
,看起來像是'999999999-.'
我需要在表table1
的零件號的末尾添加"-"
,然后將其交叉引用到表2並獲取時間列。
SELECT Right('9', cast(varchar, PartNumber)) as PartNumber
from table1
Left Join table2 on table1.partnumber = table2.partnumber
where DateOrdered BETWEEN ('2015-01-01 00:00:00.000') AND ('2015-05-11 00:00:00.000')
AND PartNumber IS NOT NULL
-----------------更新新代碼-----------
select table1.partnumber, table2.time from table1 left join table2 on
table2 + '-' = table1.partnumber
where DateOrdered IS NOT NULL
不太確定您的問題,但這不起作用嗎?:
table1.partnumber + '-' = table2.partnumber
(不是最優雅的做事方式)
因此,您的問題是table1.partnumber (999999999)
與table2.partnumber (999999999-)
因此您的JOIN
子句無法正常工作。 如果是這樣,那么您可以像這樣進行JOIN
:
Left Join table2 on table2.partnumber LIKE table1.partnumber+'-'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.