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

从表中选择“记录多次”

柯新翰
2023-03-14
问题内容

我有一个这样的SQL语句:

编辑 :

SELECT 
    location as Location 
FROM
    Table1 
WHERE 
    OnsiteOffshore = 'Offshore' AND Acc_Code = 'ABC'

UNION

SELECT 
    Country 
FROM 
    Table1 
WHERE
    OnsiteOffshore = 'Onsite' AND Acc_Code = 'ABC'

此SQL查询给出以下结果:

Chennai
Bangalore
USA
NewZealand

但是由于某些要求,我需要这样的输出:

Chennai
Chennai
Chennai
Chennai
Bangalore
Bangalore
Bangalore
Bangalore
USA
USA
USA
USA
NewZealand
NewZealand
NewZealand
NewZealand

意思是说每个位置需要输出4次。

请帮助如何获得相同的。


问题答案:
SELECT Location 
FROM Table1
  CROSS JOIN
    ( VALUES (1),(2),(3),(4)
    ) AS four(dummy)

如果4不是一个常数,而是(如@xQbert指出/要求的)是表的行数,则可以使用以下命令:

SELECT a.Location 
FROM Table1 AS a
  CROSS JOIN
     Table1 AS b

如果没有Table1任何查询(但是很复杂),则可以将其用于4个副本:

SELECT Location 
FROM (
       SELECT Location       --- complex query here
       ...                   --- inside parenthesis
     UNION 
       SELECT Country
       ...
     ) AS Table1
  CROSS JOIN
    ( VALUES (1),(2),(3),(4)
    ) AS four(dummy)

或此n副本:

WITH cte AS
  ( SELECT Location       --- complex query here
    ...                   --- inside parenthesis
    UNION 
    SELECT Country
    ...
  )
SELECT a.Location 
FROM cte AS a
  CROSS JOIN
     cte AS b


 类似资料:
  • 因此,我希望使用CI活动记录获得最终输出,作为产品列表及其详细信息。

  • 问题内容: 我继承了具有以下结构的表: 是一个标识字段和主键,并且and字段上有非唯一索引。 什么是最有效的方式来获得每个项目名称的最新记录,即在上述行的表 1 , 4 和 6 ,因为他们是最先进的日期项物品应归还 一 , 乙 和 Ç 分别。 问题答案: SQL Server 2005(开始):

  • 问题内容: MySQL语句中是否可以通过> = NOW()-1排序记录(通过日期戳),以便选择从今天到今天的所有记录? 问题答案: 从日期/时间函数的文档来看,您应该能够执行以下操作:

  • 问题内容: 我想根据URL字符串选择一些ID,但对于我的代码,它仅显示第一个。如果我写手册的ID是伟大的。 我有这样的网址http://www.mydomain.com/myfile.php?theurl=1,2,3,4,5(ids) 现在在myfile.php中,我有sql连接,并且: 如果我使用这个: 我得到正确的结果。现在,如果我使用下面的代码,它将无法正常工作: 有什么建议? 问题答案:

  • 问题内容: 我试图从看起来像这样的数据库表结果中选择前2条记录 我试过这个查询 但是有些主题,例如失踪的地方,我什至尝试了以下链接的建议 如何选择每个组的前N行? 但是我为每个受检者得到两个以上 我究竟做错了什么? 问题答案: 您可以使用相关的子查询: 该查询通过串联三列来构造单列主键。如果您有真正的主键(如),则可以用代替。 SQL Fiddle中的示例。

  • 本章提供了有关如何使用JDBC应用程序从表中选择/获取记录的示例。 在执行以下示例之前,请确保您具备以下示例 - 要执行以下示例,您可以使用实际用户名和密码替换用户名和密码。 您的MySQL或您使用的任何数据库已启动并正在运行。 所需的步骤 (Required Steps) 使用JDBC应用程序创建新数据库需要以下步骤 - Import the packages:要求包含包含数据库编程所需的JDB