我有这样的查询(select id,reffid,someData from myTable):
id reffid someData 8 10 text1 9 10 text2 10 11 text3 11 11 text4 12 11 text5 13 11 text6 14 12 text7 15 12 text8 16 12 text9 17 13 text10 18 14 text11
我需要查询来执行以下操作:如果我有少于 4 个具有相同值的 reffid,则添加具有相同 reffid 的行并在 someData 中添加 -。结果查询应如下所示:
id reffid someData 8 10 text1 9 10 text2 ??? 10 - ??? 10 - 10 11 text3 11 11 text4 12 11 text5 13 11 text6 14 12 text7 15 12 text8 16 12 text9 ??? 12 - 17 13 text10 ??? 13 - ??? 13 - ??? 13 - 18 14 text11 ??? 14 - ??? 14 - ??? 14 -
如何做到这一点?
尝试
SELECT t.id, l.reffid, COALESCE(t.somedata, '-') someData
FROM
(
SELECT reffid, rnum
FROM
(
SELECT DISTINCT reffid
FROM table1
) q CROsS JOIN
(
SELECT 1 rnum UNION ALL
SELECT 2 UNION ALL
SELECT 3 UNION ALL
SELECT 4
) n
) l LEFT JOIN
(
SELECT id, reffid, somedata,
ROW_NUMBER() OVER (PARTITION BY reffid ORDER BY id) rnum
FROM table1
) t
ON l.reffid = t.reffid
AND l.rnum = t.rnum
输出:
| ID | REFFID | SOMEDATA | |--------|--------|----------| | 8 | 10 | text1 | | 9 | 10 | text2 | | (null) | 10 | - | | (null) | 10 | - | | 10 | 11 | text3 | | 11 | 11 | text4 | | 12 | 11 | text5 | | 13 | 11 | text6 | | 14 | 12 | text7 | | 15 | 12 | text8 | | 16 | 12 | text9 | | (null) | 12 | - | | 17 | 13 | text10 | | (null) | 13 | - | | (null) | 13 | - | | (null) | 13 | - | | 18 | 14 | text11 | | (null) | 14 | - | | (null) | 14 | - | | (null) | 14 | - |
这是SQLFiddle演示
问题内容: 我可以在SQL Server 2008的Function中编写插入查询吗?如果尝试,会在函数中收到无效使用副作用运算符’INSERT’的错误。请帮帮我。但我希望它是一个函数,而不是存储过程 问题答案: 从这里引用: 用户定义的函数不能用于修改基表信息。DML语句INSERT,UPDATE和DELETE不能在基表上使用。 因此,您无法在函数中执行INSERT。 您可能想解释为什么不想使用
目前正在android studio中用java进行一个项目,我正在尝试用sql查询两个表。各表如下: 预订表 User_Bookings表 用户表仅供参考 有没有一种方法可以使用UNION或INNER JOIN并仅使用用户ID连接这两个表? 例如,对于ID为2的用户,我希望从预订表中获得出发时间 还是UNION/INNER JOIN不是我试图实现的目标的正确运算符?正如我一直在尝试和复习我的SQ
问题内容: 我有一个输出当前数据的现有查询,我想将其插入到Temp表中,但是这样做有一些问题。有人会对如何执行此操作有一些见解吗? 这是一个例子 这似乎当前以我需要的方式输出我的数据,但我想将其传递到临时表中。我的问题是我对SQL查询还很陌生,还没有找到一种方法来做到这一点。或者,即使有可能。如果不可能,是否有更好的方法将我要查找的数据获取到临时表中? 问题答案:
我有一个输出当前数据的现有查询,我想将其插入到Temp表中,但这样做有一些问题。有人对如何做到这一点有一些见解吗? 这里有一个例子 这似乎以我需要的方式输出了我的数据,但我想将其传递到临时表中。我的问题是我对SQL查询很陌生,并且无法找到这样做的方法。或者如果可能的话。如果不可能,有没有更好的方法将我正在寻找的获取到临时表中?
我的准备好的语句有问题,但我无法找出错误所在。我正在尝试将URI链接插入数据库。 错误
我正在尝试使用Scala中的Spark SQL查询Cassandra数据。 并抛出错误: org.apache.spark.sql.AnalysisException:找不到表或视图:.;第1行第14位;'Project[*]+-'UnresolvedRelation. 谢谢你。