Sql select语句根据用户选择获取值

时间:2015-03-15 20:16:20

标签: c# mysql sql .net sql-server-2008

我正在开发应用程序,用户可以使用Destination放入数据库进行搜索。最高优先级是“目的地”。然后在高级搜索选项中,我必须为用户提供选择,如

  • 性别
  • 车辆类型
  • Ac / Non Ac

布局就像这样

Mobile screen layout Front screen

要完成的操作:

我必须根据用户选择从数据库生成listview。用户可以一次选择最多4个参数,bt可以选择1个或2个或3个随机选项。现在我很困惑如何基于我的数据库架构来调用它。任何建议都会更有帮助,因为我坚持了好几个小时。感谢名单

编辑:

现在我创建了一个给出答案的视图。只剩下最后一个错误。根据不同的参数填充重复的条目。像用户A那样有两个2轮和一个四轮车,显示三次。类似地,具有2辆车的用户获得重复的名称输屏幕截图如下:

uodated

我的查询 -

SELECT     TOP (100) PERCENT T.name, TM.source_latitude, TM.source_longitude, TM.trvl_day, TM.trvl_time, TM.dest_latitude, TM.dest_longitude, T.email, T.contactno, TM.trvl_source, TM.Trvl_vehicle, 
                  TM.Seats_available, T.gender, TM.user_id, TM.trvl_destination, dbo.tbl_vh.type, dbo.tbl_vh.AcNonAc, dbo.tbl_vh.kmrate FROM         dbo.tbl_reg1 AS T INNER JOIN
                  dbo.Travel_master AS TM ON T.userid = TM.user_id INNER JOIN
                  dbo.tbl_vh ON TM.user_id = dbo.tbl_vh.userid WHERE     (TM.trvl_destination LIKE '%' + @trvl_destination + '%') AND (T.gender = ISNULL(@gender, T.gender)) AND (dbo.tbl_vh.type = ISNULL(@type, dbo.tbl_vh.type)) AND 
                  (dbo.tbl_vh.kmrate = ISNULL(@kmrate, dbo.tbl_vh.kmrate)) AND (dbo.tbl_vh.AcNonAc = ISNULL(@AcNonAc, dbo.tbl_vh.AcNonAc)) ORDER BY TM.trvl_day

1 个答案:

答案 0 :(得分:0)

好的,现在我做了我想要的。在名称和日期列上分组。最终查询如下。

SELECT DISTINCT TOP (100) PERCENT T.name, TM.trvl_day FROM dbo.tbl_reg1 AS T INNER JOIN
                  dbo.Travel_master AS TM ON T.userid = TM.user_id INNER JOIN
                  dbo.tbl_vh ON TM.user_id = dbo.tbl_vh.userid WHERE (TM.trvl_destination LIKE '%' + @trvl_destination + '%') AND (T.gender = ISNULL(@gender, T.gender)) AND (dbo.tbl_vh.type = ISNULL(@type, dbo.tbl_vh.type)) AND 
                  (dbo.tbl_vh.kmrate = ISNULL(@kmrate, dbo.tbl_vh.kmrate)) AND (dbo.tbl_vh.AcNonAc = ISNULL(@AcNonAc, dbo.tbl_vh.AcNonAc)) GROUP BY T.name, TM.trvl_day ORDER BY TM.trvl_day