Table 1
| 訂單號 |
|---|
| 11111111 |
| 22222222 |
| 33333333 |
Table 2
| 訂單號 | 設備 |
|---|---|
| 111111、222222 | 蘋果 |
| 333333 | 蘋果 |
我正在嘗試使用表 1 中的訂單號來匹配表 2。如果想要完全匹配,我使用下面的代碼。我使用了like,但如果有多個訂單號,它仍然不會讀取表2中的訂單號行。
只要有部分匹配,我需要能夠使用表 1 訂單號來匹配任何表 2 訂單號。
SELECT [Table 1].[Order number], [Table 2].[Order number]
FROM [Table 1]
INNER JOIN [Table 2] ON [Table 1].[Order number] = [Table 2].[Order number]
uj5u.com熱心網友回復:
您可能可以執行類似此處找到的操作:Where value in column contains comma delimited values 但是,我可以建議您重新考慮您的表格設計嗎?您呈現的設計未標準化,這會造成您在此處看到的一定程度的困難(并且可能會變得更糟)。表 2 的一個更好的設計是讓每條記錄都有自己的行。像這樣:
| ID | 訂單號 | 設備 |
|---|---|---|
| 1 | 111111 | 蘋果 |
| 2 | 222222 | 蘋果 |
| 3 | 333333 | 蘋果 |
每條記錄都有自己的行,并帶有唯一標識該記錄的主鍵。這將使查詢變得更加簡單。這被認為是標準化的:https : //docs.microsoft.com/en-us/office/troubleshoot/access/database-normalization-description
uj5u.com熱心網友回復:
在您所在的州,匹配有四種可能的變化:
- 數字在開頭,
- 數字在中間,
- 號碼在最后。
- 完全一樣
要涵蓋所有這些情況,您可以簡單地創建條件并使用“OR”陳述句附加它們。
在最終形式中,您的查詢將如下所示:
SELECT
[Table 1].[Order number],
[Table 2].[Order number]
FROM
[Table 1]
INNER JOIN [Table 2]
ON (
[Table 1].[Order number]=[Table 2].[Order number]
OR [Table 2].[Order number] LIKE [Table 1].[Order number] & ",%"
OR [Table 2].[Order number] LIKE "%," & [Table 1].[Order number] & ",%"
OR [Table 2].[Order number] LIKE "%," & [Table 1].[Order number]
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/407954.html
標籤:
下一篇:請幫忙除錯C程式
