您好我有以下两个表:
表A:
Field1 | Field2
---------------
9911-4 | 4800
9911-6 | 400
9911-9 | 480
785-25 | 455
6523-1 | 221
在表B中我有:
ID | Name
------------
9911 | A
785 | B
因此,TableA中的Field1具有ID号,并且必须使用TableB的字段ID进行连接。
输出必须是:
ID | Name
------------
9911 | A
785 | B
但ID必须是TableA的Field1的JOINT。 TableA中的Field1具有NUMBER-NUMBER,其中第一个数字是TableB的ID
提前致谢
答案 0 :(得分:5)
SELECT * from TableA join TableB on id=SUBSTRING_INDEX(field1,'-',2)
答案 1 :(得分:1)
基本上,您可以找到表中的 - 并在开头和短划线之间获取字符串,然后加入第二个表中的列。
SELECT TABLEB.Name from TABLEA
INNER JOIN TABLEB ON
SUBSTRING(TABLEA.Field1,0,CHARINDEX('-', TableA.Field1)) = TABLEB.ID
答案 2 :(得分:0)
select *
from TableA join TableB on id=substring(Field1,1,instr(Field1,'-')-1)