当前位置: 首页 > 面试题库 >

SQL条件联合

魏元白
2023-03-14
问题内容

问题:我有一个SQL函数,该函数返回文件列表

现在,我应该使用联合将其他列表加入该列表,但前提是用户是admin。

那可能吗?就像是:

CREATE FUNCTION tfu_CMS_Process(@bIsAdmin bit  )
-- Add the parameters for the function here
RETURNS TABLE
AS
RETURN
 (
 SELECT * FROM TABLE1

 if bIsAdmin

 UNION ALL

 SELECT * FROM TABLE2

 end if
 )

问题答案:
SELECT  *
FROM    table1
UNION ALL
SELECT  *
FROM    table2
WHERE   @isAdmin = 1


 类似资料:
  • 问题内容: 我有一个查询,如: 当我这样使用时,由于if条件,它给出了错误。由于我们的结构,我必须使用UNION。 我该如何在if条件下使用它? 谢谢 问题答案: 将条件移到子句中,如下所示:

  • 问题内容: 我有一个SQL语句,我正在尝试将其转换为LINQ to SQL,并且已经设法将其中的大多数转换了,但是遇到了一个语句,我无法在LINQ中全神贯注。 引起头痛的SQL查询部分是: 是包含一系列操作的表,是可用操作的列表。是状态列表的索引-4 ==’失败’。 基本上,对于 未 失败的动作,它需要返回 下一个 动作。如果行动 已经 失败,它返回 当前 的行动。 这只是联接之一(完整查询中总共

  • 问题内容: 我想要一种改进我的sql代码的好方法,当条件满足时,我必须使用内部联接。我目前正在复制代码: 我想以这种方式做到这一点: 编辑: 解决方案(由于@Damien_The_Unbeliever): 问题答案: 这应该(大约)执行相同的操作: 当然,这还意味着必须编写对其中的列的任何其他引用,以期望此类列为。

  • 问题内容: 是否可以做这样的事情: 我尤其要在除法结果值上放置一个where条件 问题答案: 这可以通过HAVING子句完成: 注意:添加了放置语句的位置 查询优化器也不应该多次计算平均值,因此在这里不必担心。 正如@jagra的答案中提到的那样,您应该可以使用而不是

  • 问题内容: 我想根据当前行的值确定JOIN列。 例如,我的工作表有4个日期列:offer_date,accepted_date,start_date,reported_date。 我想根据日期查询汇率。我知道reported_date永远不会为空,但这是我的最后选择,因此我有一个优先顺序要加入到exchange_rate表中。如果这是正确的方法,我不太确定如何使用CASE语句执行此操作。 问题答案

  • 问题内容: 相等的: 左联接: 相等的: 正确加入 相等的: 当我们在“ WHERE”子句中指定联接条件与“ ON联接条件”时有什么区别? 通过在“ ON”子句和“ WHERE”子句中指定联接条件,我们在内部,左外部,右外部联接中是否获得相同的结果。请指教。 问题答案: 好吧,您所谓的“等效”并不等同于外部联接。让我们以左联接为例。 加入条件: 与哪里: 将条件放到WHERE子句中可以有效地使联接