【问题标题】:Sybase Select StatementSybase 选择语句
【发布时间】:2014-02-03 01:53:42
【问题描述】:

我正在尝试使用一些特定条件进行选择,但似乎无法得到我想要的。

桌人 人名 |名字 |姓氏

餐桌服务 服务标识 |人名 |开始时间 |结束时间 | service_type_id

表服务_类型 type_id |说明

表服务_用户 服务标识 |开始时间 |结束时间 | user_id

目标是获取满足以下任一条件的所有 person_id:

  1. 姓氏如“Mar%”
  2. 类似“Fusions%”的服务类型
  3. 服务类型,例如 'New%' 和 User_Id = 'Bob' 和 Start_Time 在 2009-01-01 或之后

这是我一直在尝试使用的语句:

SELECT DISTINCT person_id FROM person P,service S, service_types ST, service_user SU WHERE P.person_id = S.person_id AND S.service_id = SU.service_id AND ST.type_id = S.service_type_id AND (P.last_name LIKE 'Mar%' OR ST.description LIKE 'Fusions%') OR (ST.description LIKE 'New%' AND SU.user_id = 'Bob' AND start_time >= '2009-01-01')

【问题讨论】:

    标签: sql select sybase


    【解决方案1】:

    你的最后一个条件应该是

    AND ((P.last_name LIKE 'Mar%' OR ST.description LIKE 'Fusions%') 
    OR (ST.description LIKE 'New%' AND SU.user_id = 'Bob' AND start_time >=  2009-01-01'))
    

    【讨论】:

    • 好的,现在我如何从 person 中选择所有列,而不必输入每个单独的列名,我只列出了 3 个,大约有 98 个。
    • @t2nator SELECT P.*.
    • person 中有一个列:parent_id 链接到 person 表。我怎样才能检索那些没有自己的 id 设置为 parent_id 的人的 parent_id 行?
    • 在表的parent_id 属性上进行自联接。
    • @t2nator,这回答了你的问题吗?如果是这样,您应该将其标记为答案,以便有相同问题的其他人知道,也让更多人愿意回答您的其他问题。
    猜你喜欢
    • 1970-01-01
    • 2010-10-03
    • 2013-06-22
    • 2011-06-09
    • 2011-07-12
    • 2015-01-28
    • 2011-07-05
    • 2019-01-04
    相关资源
    最近更新 更多