mysql中的内部连接?
我想对用户名进行内部联接,其中table1包含如下数据:mysql中的内部连接?,mysql,Mysql,我想对用户名进行内部联接,其中table1包含如下数据: username pass apple 11 orange 22 banana 33 表2的数据如下 username email tw-apple apple@gmail.com fb-orange orange@gmail.com reg-banana banana@gmail.com 获取通行证和电子邮件 SELECT * FROM table1
username pass
apple 11
orange 22
banana 33
表2的数据如下
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))
需要帮助。请尝试以下操作:
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
请参阅中的结果
阅读更多关于和的信息。尝试以下方法:
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
请参阅中的结果
阅读更多关于和的信息。尝试以下方法:
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
请参阅中的结果
阅读更多关于和的信息。尝试以下方法:
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
请参阅中的结果
阅读更多关于和的信息。如果您使用的是MySQL,您可以直接使用,而不是笨拙的模拟:
SELECT *,table2.username as uname
FROM table1
INNER JOIN table2
ON table1.username = SUBSTRING_INDEX(table2.username,'-', -1);
(从@RagingBull偷走了sqlfiddle模板)如果您使用的是MySQL,您可以直接使用,而不是笨拙的模拟:
SELECT *,table2.username as uname
FROM table1
INNER JOIN table2
ON table1.username = SUBSTRING_INDEX(table2.username,'-', -1);
(从@RagingBull偷走了sqlfiddle模板)如果您使用的是MySQL,您可以直接使用,而不是笨拙的模拟:
SELECT *,table2.username as uname
FROM table1
INNER JOIN table2
ON table1.username = SUBSTRING_INDEX(table2.username,'-', -1);
(从@RagingBull偷走了sqlfiddle模板)如果您使用的是MySQL,您可以直接使用,而不是笨拙的模拟:
SELECT *,table2.username as uname
FROM table1
INNER JOIN table2
ON table1.username = SUBSTRING_INDEX(table2.username,'-', -1);
(从@RagingBull偷走了SQLFIDLE模板)尝试将table2别名移动到其列引用:
ON(子字符串(table2.username,(LOCATE(“”,table2.username)+1))=table1.username
首先是您想要的,如果理解正确,您希望在两个表中都显示用户名…我想在两个表上都进行内部联接,在username上省略表2tanks@AgRizzo的username上的“-”之前的值。我想到了table2。username
实际上应该分为两列,以保持引用完整性(这将解决此问题)。尝试将table2别名移动到其列引用:ON(子字符串(table2.username,(LOCATE(“”,table2.username)+1)))=表1.用户名
首先,如果理解正确,您希望在两个表中显示用户名…我想在两个表上都进行内部联接,在username上省略表2tanks@AgRizzo的username上“-”之前的值。我想到了表2.用户名
应该按顺序分为两列若要保留引用完整性(这将消除此问题)。请尝试将table2别名移动到其列引用:ON(子字符串(table2.username,(LOCATE(“”,table2.username)+1)))=表1.用户名
首先,如果理解正确,您希望在两个表中显示用户名…我想在两个表上都进行内部联接,在username上省略表2tanks@AgRizzo的username上“-”之前的值。我想到了表2.用户名
应该按顺序分为两列若要保留引用完整性(这将消除此问题)。请尝试将table2别名移动到其列引用:ON(子字符串(table2.username,(LOCATE(“”,table2.username)+1)))=表1.用户名
首先,如果理解正确,您希望在两个表中显示用户名…我想在两个表上都进行内部联接,在username上省略表2tanks@AgRizzo的username上“-”之前的值。我想到了表2.用户名
应该按顺序分为两列保持引用完整性(这将消除此问题)。