[英]Sql query inner join with LIKE and WHERE
我有2張桌子。 一種叫做tbl_issue
一種叫做tbl_user
。 tbl_issue
有一個稱為問題列表的字段,其中包含問題列,例如id
, uid
(用戶ID), pid
(項目ID)等tbl_user
另一方面具有一個表,其中包含用戶詳細信息,例如id
(即用戶ID), u_name
(即用戶名), p_list
(項目ID)等。
我想根據uid
(用戶ID)代碼顯示用戶名是:
SELECT tbl_issue.id, tbl_issue.pid, tbl_issue.uid, tbl_user.u_name
FROM tbl_issue
INNER JOIN tbl_user ON tbl_issue.uid LIKE Concat('%',tbl_user.id,'%')
WHERE uid = $uid;
代碼示例:
SELECT tbl_issue.id, tbl_issue.pid, tbl_issue.uid, tbl_user.u_name
FROM tbl_issue
INNER JOIN tbl_user ON tbl_issue.uid LIKE '%7%'
WHERE uid = '7'`
此處uid=7
和tbl_user.id =7
是Lokesh Sharma
該代碼給出輸出
id pid uid u_name 14 4 7 admin 14 4 7 ramesh 14 4 7 hemant 14 4 7 lokesh 17 3 7 ravi 17 3 7 lokesh
我想得到像
14 4 7 lokesh 15 4 7 lokesh 16 5 7 lokesh 17 5 7 lokesh 18 3 7 lokesh 19 3 7 lokesh
請幫助並建議正確的方法
您正在嘗試使用LIKE
將tbl_user
加入tbl_issue
中。 僅tbl_issue.uid = tbl_user.id
什么問題?
並且您的ON
條件指向一個值,該值可以是變量或7,而不是tbl_user
的列。
SELECT a.id, a.pid, b.id, b.u_name
FROM tbl_issue a
LEFT JOIN tbl_user b ON a.uid = b.id
WHERE b.id = 7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.