[英]How To Join Two Tables Having Some Values Same in the Column
每一個都與MYSQL查詢有關...我有兩個表...表A就像
|ID | Field 1| Field 2 |
------------------------
| 01 | ASD | SDF |
------------------------
| 02 | ghg | OOi |
------------------------
B就像
------------------------
|ID | Field A | Field B |
-------------------------
| 1 | XYZ | AB01 |
| 2 | XYZ | AB02 |
-------------------------
現在在表B的字段B中,值-AB01在這里01是表A的ID的值。
現在我的問題是,如何在A和B表中同時使用內部聯接
像從B內部加入TableA一樣??? [在子句中會有什么... ??]
假設ID是介於01
和99
之間的字符串:
select *
from TableA a
join TableB b
on a.id = substring(b.FieldB, 3, 2)
Try this
DECLARE @RESULT TABLE
(
ID INT,
Field_1 varchar(10),
Field_2 varchar(10)
)
INSERT @RESULT VALUES
(01, 'ASD','SDF')
,(02, 'ghg','OOi')
DECLARE @RESULT1 TABLE
(
ID INT,
Field_a varchar(10),
Field_b varchar(10)
)
INSERT @RESULT1 VALUES
(01, 'xyz','ab01')
,(02, 'xyz','ab02')
select * from @RESULT r1 inner join @RESULT1 r2
on right(r2.Field_b,2)=r1.id
// 像這樣
SELECT * FROM TableNAme INNER JOIN SecondTableName ON TableName.ID=SecondTableName.ID;
好吧,您可以使用SUBSTRING函數,例如:
SELECT * FROM TableA a
INNER JOIN TableB b ON a.id = SUBSTRING(b.FieldB, 3, 2)
這將返回所有記錄。
在mysql中SUBSTRING具有三個參數。
喜歡:
SUBSTRING( string, start_position, [ length ] )
要么
SUBSTRING( string FROM start_position [ FOR length ] )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.