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

在Doctrine Symfony中使用UNION进行SQL查询

华凌
2023-03-14
问题内容

我对Doctrine Symfony中SQL查询的翻译有疑问。我想做这样的事情:

SELECT m.*
FROM member m
INNER JOIN (
  SELECT id_member
  FROM friend
  WHERE id_friend=99
  UNION
  SELECT id_friend
  FROM friend
  WHERE id_member=99
) a ON m.id=a.id_member 
WHERE m.visible=1

在此示例中,我搜索用户99的所有朋友。

My tables :

Member: (id, name, visible)
Friend: (id, id_member, id_friend, active)

精度:我想使用Symfony传呼机。

一个解法 ?谢谢 !


问题答案:

DQL不支持UNION,但是您可以使用RAW SQL->发出查询

$q = Doctrine_Manager::getInstance()->getCurrentConnection();
$result = $q->execute(" -- RAW SQL HERE -- ");


 类似资料:
  • 为了给出backfround,我使用

  • 问题内容: 我正在使用Jesey在Java(JAX-RS)中实现Restful Web Service。我在Tomcat v7.0上运行它,我使用Hibernate将数据映射到数据库(MySQL)。我有一个查询来获取可交付成果的列表: 它给了我一百个可交付成果,但我想在Task表中拥有前三名。感谢您的帮助。如何修改查询? 请注意,这三个可交付成果不应重复。 与@FGreg答案存在冲突。当我使用这些

  • 问题内容: 我正在使用Eclipse Java EE进行Web应用程序项目。当前,我的应用程序返回数据库中存储员工个人信息的所有值。但是,我设置了默认的准备语句以搜索表employee_id = 1234,而不是登录员工的employee_id。这意味着无论哪个员工登录到我的系统,它都只会显示该员工的个人信息。 ID为1234,如下面的准备语句所示: 请注意上面的employeeID如何设置为12

  • 问题内容: 我正在尝试在SQL Server中解析以下xml,以获取所有3个ID 使用查询 我得到的结果为100010011002,但我想将结果显示为一列或CSV格式。 任何帮助都将得到应用。 问题答案: 使用MS SQL Server,这将为您提供行。 如果只需要一个值(如本例中所示),则在节点上切碎的速度要快得多(三倍)。

  • 我正在为spring批处理使用java配置(spring boot)。我有一个员工Id列表,对于每个Id,我需要运行一个查询(如下所示),然后处理数据。 我知道我们可以使用阅读器。setPreparedStatementSetter动态设置上述SQL中的参数。但是,我不确定如何对列表中的每个员工id重复批处理过程。即使我将reader()标记为@StepScope,也只会调用一次reader。(即

  • 使用 Raw SQL 查询,无需使用 ORM 表定义 多数据库,都可直接使用占位符号 ?,自动转换 查询时的参数,支持使用 Model Struct 和 Slice, Array ids := []int{1, 2, 3} p.Raw("SELECT name FROM user WHERE id IN (?, ?, ?)", ids) 创建一个 RawSeter o := orm.NewOrm