GVKun编程网logo

SQL查询未知行到列(sql查询未选定行)

12

此处将为大家介绍关于SQL查询未知行到列的详细内容,并且为您解答有关sql查询未选定行的相关问题,此外,我们还将为您介绍关于Django查询未知数量的多个日期范围、jpa–使用联合和选择常量的SQL查

此处将为大家介绍关于SQL查询未知行到列的详细内容,并且为您解答有关sql查询未选定行的相关问题,此外,我们还将为您介绍关于Django查询未知数量的多个日期范围、jpa – 使用联合和选择常量的SQL查询等效的SQL查询、JPQL查询未使用“ NOT IN”命令、Microsoft Access 2016-插入SQL查询未添加正确的行数的有用信息。

本文目录一览:

SQL查询未知行到列(sql查询未选定行)

SQL查询未知行到列(sql查询未选定行)

我问了这个问题,它被标记为“如何在SQL
Server中透视未知的列数且没有聚合?”
的重复项。,但该答案对我没有帮助。

我有一个看起来像这样的数据表,其中包含未知数量的行和值。

RecID     Name      Value
1         Color     Red
2         Size      Small
3         Weight    20lbs
4         Shape     Square

我需要一个查询,该查询将返回这样的数据,为每一行建立一列。除了列标题“名称”和“值”之外,我无法进行任何硬编码。

Color     Size     Weight     Shape
Red       Small    20lbs      Square

到目前为止,这是我目前可以部分工作的内容:

INSERT INTO @Table VALUES
(1,'Color','Red'),(2,'Size','Small'),(3,'Weight','20lbs'),(4,'Shape','Square')

 ;with mycte
 as
 (
SELECT rn,cols,val
FROM   (SELECT  row_number() over(order by Name) rn,Name,Value
        FROM  @Table) AS src1
UNPIVOT (val FOR cols
IN ( [Name],[Value])) AS unpvt
 )

SELECT *
FROM   (SELECT rn,val
        FROM   mycte) AS src2 PIVOT
( Max(val) FOR rn IN ([1],[2],[3])) AS pvt

哪个返回:

cols    1   2   3
Name    Color   Shape   Size
Value   Red Square  Small

我似乎无法解决的两个问题。

  1. 我不需要列标题和第一列具有cols,Name,Value的列。
  2. 在不指定[x]标识符的情况下无法弄清楚如何为每一行建立一列。

任何指导都会很棒,我已经坚持了一段时间。

Django查询未知数量的多个日期范围

Django查询未知数量的多个日期范围

我有一个允许用户选择多个年龄段的用户的表格:18-24、25-34、35-44等。当前,如果用户选择了多个选择列表中的前两个字段,查询将返回用户18
-34.如果用户选择18-24岁和35-44岁的年龄段,则该年龄段将包含18-44岁的所有年龄段,但不应包括25-34岁的用户。

您将如何在查询中包括多个范围过滤器而又不知道在选择用户表单之前需要过滤的范围数?

如果您知道用户要过滤的年龄范围的数量,我知道您可以使用Q链接范围查询。

这是我当前的查询:

query = User.objects.filter(
            gender__in=genders,created__in=dates,data_source__in=sources,dob__range=[dob_from,dob_to]
        )

提前致谢。

jpa – 使用联合和选择常量的SQL查询等效的SQL查询

jpa – 使用联合和选择常量的SQL查询等效的SQL查询

我编写了一个SQL查询,它基本上从许多表中选择,以确定哪些表具有自特定日期以来创建的行.我的sql看起来像这样:

SELECT widget_type FROM(
  SELECT 'A' as widget_type
  FROM widget_a
  WHERE creation_timestamp > :cutoff
  UNION
  SELECT 'B' as widget_type
  FROM widget_b
  WHERE creation_timestamp > :cutoff
) types
GROUP BY widget_type
HAVING count(*)>0

这在sql中运行良好,但我最近发现,虽然JPA可能会使用联合执行“每类表”多态查询,查询中为JPQL does not support unions.所以这让我想知道JPA是否有一个替代方案可以用来完成同样的事情.

实际上,我会查询十几个表,而不仅仅是两个表,所以我想避免单独查询.我还想避免出于可移植性原因而进行本机SQL查询.

在我上面链接的问题中,有人询问映射到widget_a和widget_b的实体是否是同一继承树的一部分.对,他们是.但是,如果我从他们的基类中选择,我不相信我会为不同的子实体指定不同的字符串常量,我会吗?如果我可以选择实体的类名而不是我提供的字符串,那也可能符合我的目的.但我不知道这是否可能.思考?

解决方法

我做了一些搜索,发现JPA的一个(看似模糊的)功能完全符合我的目的.我发现JPA 2有一个类型关键字,允许您将多态查询限制为特定的子类,如下所示:

SELECT widget
FROM BaseWidget widget
WHERE TYPE(widget) in (WidgetB,WidgetC)

我发现JPA(或至少Hibernate作为JPA实现)允许您不仅在约束中使用类型,还在选择列表中使用类型.这大约是我的查询结果如下:

SELECT disTINCT TYPE(widget)
FROM BaseWidget widget
WHERE widget.creationTimestamp > :cutoff

该查询返回Class对象的列表.我原来的查询是选择字符串文字,因为它最接近我在sql中所做的.在我的例子中,选择Class实际上更可取.但是如果我更喜欢根据实体的类型选择一个常量,那就是Oracle’s documentation用来说明case语句的确切场景:

SELECT p.name
CASE TYPE(p)
  WHEN Student THEN 'kid'
  WHEN Guardian THEN 'adult'
  WHEN Staff THEN 'adult'
  ELSE 'unkNown'
END
FROM Person p

JPQL查询未使用“ NOT IN”命令

JPQL查询未使用“ NOT IN”命令

如何解决JPQL查询未使用“ NOT IN”命令?

| 我正在尝试使用\“ NOT IN \”关键字从数据库SELECT中排除一堆结果,但是排除列表仍在返回。使用JPQL(JPA2.0),我的查询如下:
Query query = em.createquery(\"SELECT foo.id FROM FooEntity fooEntity WHERE foo.id NOT IN (\''\" + exclusionList.toString() + \"\'') ORDER BY foo.id\").setFirstResult(startPosition).setMaxResults(numberOfAppsToReturn);
exclusionList是一个StringBuffer。我看不到有错误报告,但是排除列表中的ID仍返回。有替代的JPQL方法吗? 提前致谢。     

解决方法

        我认为错误在于
foo
。 foo是什么,您必须在任何地方定义它。 写
FooEntity foo
而不是
FooEntity fooEntity
看下面的URL。 JPQL,如何不选择某些内容     

Microsoft Access 2016-插入SQL查询未添加正确的行数

Microsoft Access 2016-插入SQL查询未添加正确的行数

如何解决Microsoft Access 2016-插入SQL查询未添加正确的行数?

我有一个查询“ NP_Compare_SPC”和一个表“ NP_Compare_Table”。 NP_Compare_Table当前为空,我正在尝试将查询的全部内容插入表中。

使用以下代码时,我插入了 16042 行:

setup.py

如果从插入中删除[RX NU]字段,则会插入 16123 行。使用以下内容:

INSERT INTO NP_Compare_Table (Time_of_NP,[NID],[TX NU],[RX NU],[TX SPC Time],[RX SPC Time],[TX SPC Data],[RX SPC Data])

SELECT Q.[Time_of_NP],Q.[NID],Q.[TX NU],Q.[RX NU],Q.[TX SPC Time],Q.[RX SPC Time],Q.[TX SPC Data],Q.[RX SPC Data]

FROM NP_Compare_SPC Q

第一个代码无法插入81行。这81行在数据来自的查询中都包含[RX NU]的空值,但是[RX SPC数据]也包含空值。现在,从插入语句中删除[RX SPC数据]对插入的行数有影响。

我曾尝试使用各种主键,默认值,在Nz()调用中包装[RX NU],但是除非我省略在INSERT调用中添加[RX NU],否则永远无法获得Access来添加这些行。

任何帮助表示赞赏。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

关于SQL查询未知行到列sql查询未选定行的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Django查询未知数量的多个日期范围、jpa – 使用联合和选择常量的SQL查询等效的SQL查询、JPQL查询未使用“ NOT IN”命令、Microsoft Access 2016-插入SQL查询未添加正确的行数等相关知识的信息别忘了在本站进行查找喔。

本文标签: