簡體   English   中英

如何聯接列中具有相同值的兩個表

[英]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是介於0199之間的字符串:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM