根据子表排序

时间:2015-10-19 14:49:44

标签: sql sql-server

我有两个表Tbl1和tbl2,Tbl1是主表,Tbl2是支持表。我们需要代表Tbl2从多个SQL函数(包含,Like,..)中获取Tbl1中的数据。

我只从Tbl2订购以从Tbl1获取数据。

1 Like
2 Contains
3 etc

对于Tbl2返回,我需要从Tbl 1执行查询。如果我先“喜欢”,第二次“包含”。所以我的查询将是

Select * from Tbl1 where columnname Like '%keyword%'
Union
Select * from Tbl1 where Contains( Columnname, '%keyword%')
Union
Select * from Tbl1 where etc....

如果我们在Tbl2中更改列顺序,则应更改Tbl1

1 Contains
2 Like
3 etc

Tbl1输出 -

Select * from Tbl1 where Contains( Columnname, '%keyword%')
Union
Select * from Tbl1 where columnname Like '%keyword%'
Union
Select * from Tbl1 where etc....

任何人都可以帮我写这种类型的查询。

2 个答案:

答案 0 :(得分:1)

试试这个,这是一项工作,你必须事先知道所有潜在的搜索条件:

 char a[10];
 a[10] = 0;

答案 1 :(得分:0)

简单,添加人工柱用于订购目的:

Select *, 1 AS src from Tbl1 where Contains( Columnname, '%keyword%')
Union
Select *, 2 AS src from Tbl1 where columnname Like '%keyword%'
Union
Select *, 3 AS src from Tbl1 where etc....
ORDER BY src ASC