从内部联接获取值

时间:2016-09-26 06:32:31

标签: sql sql-server sql-server-2008

我需要使用内连接来检索记录。

在表格中,

  

table1.newfld值是sath1   
table2.domainname值为domnInd / sath1

SELECT table1.id,table1.newfld, table2.id
                                    FROM table 1
                                    INNER JOIN table2
                                    ON table1.newfld = table2.domainname;

如何使用domnInd / sath1检查sath1值?我如何使用split table2.domainname并检查第二部分。因为在斜杠后的table2.domainname中它具有公共值。

6 个答案:

答案 0 :(得分:0)

使用 REVERSE,CHARINDEX,RIGHT

REVERSE:为您提供相反顺序的字符串。

CHARINDEX:为您提供字符串中匹配字符的第一个索引。

右:从正确的方向提供一部分字符串

Declare @domainName VARCHAR(50)='domnInd/sath1'

SELECT REVERSE(@domainName)
SELECT CHARINDEX('/',REVERSE(@domainName),0)
SELECT RIGHT(@domainName,CHARINDEX('/',REVERSE(@domainName),0)-1)

SELECT 
    T1.id,
    T1.newfld, 
    T2.id
FROM table1 AS T1
INNER JOIN table2 AS T2 ON T1.newfld = RIGHT(T2.domainname,CHARINDEX('/',REVERSE(T2.domainname),0)-1)

答案 1 :(得分:0)

使用CHARINDEX

<强>查询

SELECT t1.id, t1.newfld, t2.id
FROM table1 t1
JOIN table2 t2
ON t1.newfld = RIGHT(t2.domainname, CHARINDEX('/', REVERSE(t2.domainname), 1) -1);

答案 2 :(得分:0)

试试这个......

from snippets.models import Snippet
from snippets.serializers import SnippetSerializer
from rest_framework.renderers import JSONRenderer
from rest_framework.parsers import JSONParser

snippet = Snippet(code='foo = "bar"\n')
snippet.save()

答案 3 :(得分:0)

如果您只是想检查return connectingDb .then(myDb => { myDb.collection('alon').find({ "firstName": firstName, "lastName": lastName }) }) .catch(err=> { return err; }) } 中是否存在table1.newfld,可以使用table2.domainname

进行检查
LIKE

这会检查SELECT table1.id,table1.newfld, table2.id FROM table 1 INNER JOIN table2 ON table2.domainname like '%' + table1.newfld + '%'; ,如果table2.domainname出现在任何地方,它会选择该记录。

答案 4 :(得分:0)

试试这个..

PARSENAME专门用于解析sql对象名称。

 SELECT table1.id,table1.newfld, table2.id
               FROM table 1
               INNER JOIN table2
               ON table1.newfld =PARSENAME(REPLACE(t2.domainname,'/','.'), 1)

对于参考:More description of parse name

答案 5 :(得分:0)

使用STUFF:

SELECT table1.id,table1.newfld, table2.id
    FROM table 1
    INNER JOIN table2
    ON table1.newfld = STUFF(table2.domainname, 1, CHARINDEX('/',table2.domainname), '')