如何使用表列编写类似SQL的查询?

时间:2016-08-25 19:02:17

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

如何使用表列编写类似SQL的查询?

我有两个表table1和table2。

Table1 has Notes
Table2 has billid

我们有大约100张满足喜欢条件的账单。

现在,我在列上写了静态值。

如何通过在Like条件下传递Column来编写Like查询。

select * from table1
where Notes like select billid from table2

2 个答案:

答案 0 :(得分:3)

你想要BillID

如果在Table1.Column1中找到了确切的select table1.* from table1 INNER JOIN table2 ON table1.column1=table2.billid ,那么:

IN

如果您真的不需要结果集中table2的任何记录,也可以使用WHERE子句中的select * from table1 where column1 in (SELECT billid FROM table2); 执行此操作:

LIKE

这与您在尝试查询时的目标非常接近。

最后,如果您的实际意思是column1更多是SQL术语中的通配符匹配,billid只需要包含select table1.* from table1 INNER JOIN table2 ON table1.column1 LIKE '%' + table2.billid + '%' ,那么返回到连接:

@echo off
Setlocal EnableDelayedExpansion
FOR /R . %%F in (*.*) do (
    set content=%%~nF
    echo !content:~0,9! %%~nF.txt
)

答案 1 :(得分:0)

试试这个。如果table2中存在任何匹配,则从table1中选择raw

select *
from table1 
where exists (select billid 
              from  table2 
              where table1.column1 LIKE '%' + table2.billid + '%')