![](/img/trans.png)
[英]Inner join 2 tables based on 2 columns in one and one column in the other
[英]Inner Join two tables when one column is a text and the other is number
我有一個使用一些鏈接的 ODBC 表的訪問程序。 我最初有一個包含以下 INNER JOIN 的查詢:
FROM Neptune_FN_Analysis
INNER JOIN Neptune_prem ON Neptune_FN_Analysis.PremID = Neptune_prem.premice_id
這工作得很好,直到列 Neptune_prem.premice_id 從數字更改為文本數據類型。 所以現在我需要一種方法,當一列是數字而另一列是文本時,可以在兩列上使用 INNER JOIN。
請記住,我不能簡單地更改鏈接的 ODBC 表正在查看的表中的數據類型。
如果這是不可能的或可笑的代碼量,我的另一個邏輯選項是進行查詢以創建一個本地表,我可以使用 Neptune_FN_Analysis 表中的所有相同數據進行編輯,並在該查詢之后的代碼中編輯列我正在加入以輸入文本。 如果合理,我寧願只修改這個 SQL 查詢。
首先,我會追蹤誰進行了更改並找出原因。 您可能遇到的問題不僅僅是讓數字匹配。 這些更改不是無緣無故的,如果它們從數字字段更改為文本字段,可能是因為他們需要將文本數據放入字段中,現在如果你繼續這樣做,你將根本無法進行比較使用數字。 數據庫更改需要考慮其他可能會受到影響的因素,而這一點顯然沒有。 作為第一步,找出是誰做的以及為什么這樣做。
您是否嘗試過在 varchar 中使用CAST('abc' AS varchar(5))
數字列?
已編輯
您應該使用clng
將文本轉換為數字...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.