我想在用户名上进行内部连接,其中table1有如下数据:
username pass
apple 11
orange 22
banana 33与table2一起使用的数据如下
username email
tw-apple apple@gmail.com
fb-orange orange@gmail.com
reg-banana banana@gmail.com得到通行证和电子邮件。
SELECT *
FROM table1
INNER JOIN table2
ON table2.(SUBSTRING(`username`,(LOCATE('-',`username`)+1)))=table1.username也和
table2.(SUBSTRING_INDEX(`username`, '-', -1))需要帮助..。
发布于 2014-03-17 09:14:38
试试这个:
SELECT *,table2.username as uname
FROM table1 INNER JOIN
table2 ON table1.username=(SUBSTRING(table2.username,(LOCATE('-', table2.username))+1))结果:
USERNAME PASS EMAIL UNAME
apple 11 apple@gmail.com tw-apple
orange 22 orange@gmail.com fb-orange
banana 33 banana@gmail.com reg-banana见SQL Fiddle中的结果。
阅读更多关于Locate和Substring的信息。
https://stackoverflow.com/questions/22450188
复制相似问题