现在有两个表tb_1,tb2,内容如下:表名:tb1
字段:name path
内容:aaa http://1212.com/1.exe
bbb http://1212.com/2.exe
ccc http://1212.com/3.exe表名:tb2
字段:group name
内容:111 aaa
222 bbb
333 ccc
111 bbb如何实现以下内容:
1、当group为111的时候,如何查询到对应tb1里面所有的path(结果应该是返回:http://1212.com/1.exe和http://1212.com/2.exe,因为在tb2里面,group为111的有两个name,分别是aaa和bbb,然后再查询出aaa和bbb对应的两个path)
2、当group为111或者222的时候,如何查询到对应tb1里面所有的path(结果应该还是返回:http://1212.com/1.exe和http://1212.com/2.exe,因为在111查询到的数据之后,222里面的bbb与111里面的aaa重复,所以不再显示出来,即去掉重复项)请给例子,万分感激!!!
字段:name path
内容:aaa http://1212.com/1.exe
bbb http://1212.com/2.exe
ccc http://1212.com/3.exe表名:tb2
字段:group name
内容:111 aaa
222 bbb
333 ccc
111 bbb如何实现以下内容:
1、当group为111的时候,如何查询到对应tb1里面所有的path(结果应该是返回:http://1212.com/1.exe和http://1212.com/2.exe,因为在tb2里面,group为111的有两个name,分别是aaa和bbb,然后再查询出aaa和bbb对应的两个path)
2、当group为111或者222的时候,如何查询到对应tb1里面所有的path(结果应该还是返回:http://1212.com/1.exe和http://1212.com/2.exe,因为在111查询到的数据之后,222里面的bbb与111里面的aaa重复,所以不再显示出来,即去掉重复项)请给例子,万分感激!!!
select path from tb1, tb2 where tb1.name=tb2.name and tb2.group=111
select path from tb1
where name in (select name from tb2 where tb2.group=111 or tb2.group=222)
select a.path from tb1 as a join tb2 as b on a.name=b.name where b.group=111;第二:
select distinct a.path from tb1 as a join tb2 as b on a.name=b.name where b.group in (111,222)
;