簡體   English   中英

MySQL 上的 LIKE function 沒有找到相似的詞

[英]LIKE function on MySQL not picking up similar words

我目前正在使用 db-fiddle.com 來練習我的 SQL 代碼。

我有兩張桌子。

'顧客':

客戶ID 實踐名稱 地點 練習類型 子參考
1 冬宮獸醫 埃塞克斯 農場 P030022
2 西區獸醫 愛丁堡 伴侶 P030023

“樣品”:

Samples_id 子參考 樣品類型 檢測 FAM 維克 凝膠結果
1 P030022_1 拭子 多聚酶鏈反應 38.72 35.00 null
2 P030022_2 拭子 多聚酶鏈反應 34.23 30.05 null
3 P030022_3 拭子 多聚酶鏈反應 34.00 29.99 null
4 P030022_4 拭子 多聚酶鏈反應 30.00 37.10 null

(Samples 中有更多 subref 示例和更多列,但我不想弄亂頁面。)

可以有多個樣本作為一個子引用的一部分,這就是為什么我用下划線將它們制作成兩個表來定義每個樣本的結果。

我希望能夠看到屬於 PracticeName 旁邊的 Subref 的所有示例。 所以最終結果是 Samples 表,但附加了 PracticeName 列。

抱歉,如果這不是格式化事物的最佳方式,但我是一個非常新的初學者。

我嘗試了這兩個代碼,這些代碼顯然已執行,但結果中沒有顯示任何內容:

SELECT * FROM Customers, Samples WHERE Customers.Subref LIKE (Samples.Subref + '%');

SELECT * FROM Customers, Samples WHERE Customers.Subref LIKE concat (Samples.Subref, '%');

我還嘗試創建另一個表來執行多對多查詢,但它再次執行但沒有結果:

  Customers_id INT UNSIGNED NOT NULL
  , Samples_id SMALLINT UNSIGNED NOT NULL
  , PRIMARY KEY pk_Customers2Samples (Customers_id, Samples_id)
);
WHERE Customers.Subref like 'Samples.Subref%';

我不確定我做錯了什么。

任何建議表示贊賞,請善待。

查看您的數據示例..由於最后 _n 的表示,您應該使用逆向(匹配來自客戶的字符串 + % 像示例中的字符串)

SELECT * 
FROM Customers
INNER JOIN Samples ON  Samples.Subref LIKE concat (Customers.Subref, '%')

您的數據中 Sample 的字符串包含更多聊天尊重客戶的價值然后無法計算.. 相反應該有效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM