2010-12-12 38 views
53

Tôi tình cờ gặp một vấn đề SQL tinh tế khi tôi cần sử dụng giá trị từ một trường bên trong câu lệnh LIKE% ..%.Sử dụng LIKE% ..% với giá trị trường trong MySQL

Ví dụ:

SELECT t1.Notes, t2.Name 
FROM Table1 t1, Table2 t2 
WHERE t1.Notes LIKE '%t2.Name%' 

này chỉ là một ví dụ từ đỉnh đầu của tôi để hiển thị những gì tôi cần phải làm (Tôi biết điều này sẽ không làm việc). Tôi cần phải sử dụng giá trị của t2.Name bên trong% NHƯ ..%

Tôi đoán đây là tầm thường khi bạn biết điều đó;)

Trả lời

110

Sử dụng:

SELECT t1.Notes, 
     t2.Name 
    FROM Table1 t1 
    JOIN Table2 t2 ON t1.Notes LIKE CONCAT('%', t2.Name ,'%') 
+0

Cảm ơn, điều đó đã xảy ra! Aa tôi đã nói, nó là tầm thường khi bạn biết điều đó. Tuy nhiên, tôi tình cờ gặp vấn đề tiếp theo ... Nhưng tôi sẽ đưa ra một câu hỏi mới. Cảm ơn bạn! –

+0

Bất kỳ giải pháp nào cho tất cả các cơ sở dữ liệu? – Loc

+0

Bất kỳ giải pháp nào để sử dụng LIKE% ..% với trường trong câu lệnh IF? – TechCare99

-1
SELECT t1.a, t2.b 
    FROM t1 
    JOIN t2 ON t1.a LIKE '%'+t2.b +'%' 

vì câu trả lời cuối cùng không hoạt động

Các vấn đề liên quan