如何将下面的select查询从MSSQL转换为JOOQ格式?
MySql查询:
SELECT group_concat(AUF.AcLineId )
FROM AcHeader as AH
INNER JOIN AcDetails AS AD
ON AD.AcHeaderId = AH.AcHeaderId
INNER JOIN AcUserField AS AUF
ON AUF.AcLineId = AD.AcLineId
AND AUF.FieldNo = 1
WHERE AH.Company = 1 AND AH.AccountNo = 190000 AND A
从表面上看,这似乎是一个奇怪的要求,但我需要一个逗号分隔的字符串的相关项目的模型。以任何教程中的作者/图书模型为例,下面是我目前正在做的工作:
authors = Authors.objects.all().prefetch_related('books')
for author in authors:
author.book_titles = ', '.join([book.title for book in author.books.all()])
它一点也不重,但它觉得多余。就像数据库会这么做一样。在一个理想的世界里,我觉得我应该能够用这些花哨的新
我一直在看文档/谷歌,没有找到任何解决方案。
有没有办法在没有原生mysql的情况下使用doctrine2 (DQL)来执行或模仿GROUP_CONCAT?
例如:
SELECT u.id, u.name, [GROUP_CONCAT(...)] AS user_messages
FROM models\Users u
LEFT JOIN models\Messages m
GROUP BY u.id
要获得
GROUP_CONCAT(m.id,'|',m.title SEPARATOR ':')
现在我正在使用createNativeQuery()来运行它,但
我们如何才能在jooq中实现这一说法的同等意义?
select course.course_id,
group_concat(course_user.user_id, ":", course_user.current_state)
from course
left join course_user
on course.course_id = course_user.course_id
group by course.course_id;
在mysql中,上述结果将类似于
1 58:COMPLETED,11908:ASSIGNED,11919:COMP
在Apache中使用函数时遇到了问题,因为我无法让Derby找到我的自定义函数。典型的错误消息如下所示:
The class 'de.uniba.kinf.projm.hylleblomst.database.sql.utils.GroupConcat' does not exist or is inaccessible.
This can happen if the class is not public.
文档声明该方法必须是公共的和静态的。这就是我想用的:
package de.uniba.kinf.projm.hylleblomst.database.sql.util
我有两张桌子,orders和company。公司表包含唯一的公司id和公司名称。
Orders表有两列,一列是orderid,另一列是companyID。CompanyIds可以是多个逗号分隔值。
我使用以下查询来获取与orders表的每个公司id相对应的公司名称。
SELECT
(SELECT GROUP_CONCAT(cmp.cmpny_name)
FROM company cmp
WHERE FIND_IN_SET(cmp.CompanyID, odr.companyIDs)
) AS company
FROM orders odr
它在Mysql
这是我的数据框
这个dataframe使用的基本RDD与索引一起压缩。我想将这个原始数据帧拆分为多个数据帧,其中分隔符基于第一列字符串(例如,本例中为"GCKN“)。
我假设如果我得到单独的数据帧,我也可以组合其他值,比如下面这样。
A F G
GCKN:GCKN_cppr0/in:GCKN_cppr0/out:GCKN_cppr15/in.. -71 531
这有没有可能。做这件事最好的方法是什么?
在PhpMyAdmin中,我可以使用以下脚本,它的工作原理类似于魅力:
SELECT personal.city, GROUP_CONCAT(technologies.tech)
FROM personal
INNER JOIN technologies ON technologies.uid = personal.uid
WHERE personal.uid = 88
但是我有一个动态的方法,看起来是这样的:
public function user($uid, $selection, $tables) {
// 1. Query builder
$queryBuilder
我使用以下代码-谢谢@bonCodigo
Sub groupConcat()
Dim dc As Object
Dim inputArray As Variant
Dim i As Integer
Set dc = CreateObject("Scripting.Dictionary")
inputArray = WorksheetFunction.Transpose(Sheets(1).Range("A2:B7").Value)
'-- assuming you only have two columns - othe
脚本:
SELECT
tb_biodata.nama_lengkap as nama,
tb_biodata.jenis_pegawai,
tb_biodata.cabang,
tb_penilaian.tanggal,
case when tb_user.grup = 'satu' and tb_user.jabatan = 'kepegawaian' then rata_rata end AS penilai1,
case when tb_user.grup = 'satu' and tb_user.jabatan = 'm