SQL-从column3获取数据,即使条件与column1或column2匹配

时间:2016-12-20 09:36:58

标签: mysql sql select

我有两个链式选择框和两个表....我希望用户从第一个选择框中选择一个值然后根据该选择框我想为我使用ajax的第二个选择框设置选项。 ...

表1:猫

id      cat      scat      vid

1       Venue    Hotel     161
2       Venue    Hotel     162
1       Venue    Farms     163
2       Apparel  Mens      164
1       Apparel  Womens    165
2       Apparel  Kids      166

表2:广告

id      name     area

161     ABV      Ludhiana
162     BCD      Jalandhar
163     ABD      Delhi
164     ACD      Chennai
165     ASF      Delhi
166     ASh      Delhi

首先选择从table1 " Cat" 中提取DISTINCT cat和scat。哪个对我来说绝对合适。

查询

SELECT DISTINCT scat from Cat 
UNION 
SELECT DISTINCT cat from Cat 
order by scat;

现在,当从第一个选择框中选择cat或scat时,我想显示table2中与所选cat或scat相匹配的区域...例如。如果用户选择" Venue"从第一个选择"区域" " vid" 161和163,即" Ludhiana"和"德里"被拿走了。如果用户选择"酒店"那么" area" " vid" 161和162 Ludhiana和jalandhar将在第二个选择框中显示......

我需要使用什么查询?我尝试了很多,但无法达到我的解决方案......谢谢...

2 个答案:

答案 0 :(得分:1)

可能会帮到你

declare @Value varchar(50)='Hotel'      
SELECT DISTINCT area FROM Advert 
WHERE id in (SELECT DISTINCT vid form cat where cat=@Value OR scat =@value) 

答案 1 :(得分:0)

就我个人而言,我会避免UNIONcat之间的scat,因为它们可能是不同的类型而是UNION结果,因为它们肯定属于同一类型{ {1}}:

area

替换文字' Hotel'当然还有一个参数。