帮我把以下代码翻译成sql @Query( "select approvalRecord from ApprovalRecord approvalRecord inner join ApprovalRecordItem approvalRecordItem on approvalRecord = approvalRecordItem.approvalRecord where approvalRecordItem.status = 'AUDITING' and approvalRecordItem.createdBy.login = ?#{principal.username} order by approvalRecordItem.id desc" ) List<ApprovalRecord> findAuditingByCurrentUser();
时间: 2023-12-10 19:05:04 浏览: 413
以下是将Java代码翻译成SQL的结果:
```
SELECT approvalRecord.*
FROM ApprovalRecord approvalRecord
INNER JOIN ApprovalRecordItem approvalRecordItem ON approvalRecord.id = approvalRecordItem.approval_record_id
WHERE approvalRecordItem.status = 'AUDITING' AND approvalRecordItem.created_by_login = <当前用户的用户名>
ORDER BY approvalRecordItem.id DESC
```
请注意,此SQL语句中的`<当前用户的用户名>`需要替换为当前用户的实际用户名。此外,也需要根据具体的数据表结构和字段名称进行适当的调整。
相关问题
INNER JOIN `year` ON `year`.year_id = class.class_year
好的,以下是将INNER JOIN `year` ON `year`.year_id = class.class_year转换为Java代码的示例:
```java
String query = "SELECT * FROM class INNER JOIN year ON year.year_id = class.class_year";
try (PreparedStatement preparedStatement = connection.prepareStatement(query)) {
ResultSet resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
// 处理结果集
}
} catch (SQLException e) {
// 处理异常
}
```
其中,connection是已经建立好的MySQL数据库连接对象。这段代码使用了PreparedStatement来执行SQL查询,并通过ResultSet来处理结果集。请根据具体情况进行调整。
将以下linq代码转为sql server var query = from a in _AppointmentInfoDAL.Table.Where(a => a.Code == appointmentCode) join ad in _AppointmentDetailDAL.Table.Where(a => hisKeys.Contains(a.HisKey)) on a.Code equals ad.MasterCode join d in _InspectionItemDetailDAL.Table on ad.ItemCode equals d.Code join h in _HisBillInfoDAL.Table.Where(a => a.Status == 0) on ad.HisKey equals h.ItemId join pn in _PartNameDAL.Table on ad.PartCode equals pn.Code into pn2 from pn3 in pn2.DefaultIfEmpty() from i3 in _InspectionItemNoteDAL.Table.Where(p => p.InspItemCode == a.InspectionCode && (p.Type == 0 || p.Type.ToString() == a.PatientType)).DefaultIfEmpty() join p in _PatientInfoDAL.Table on a.PatientCode equals p.Code join e in _ExamineRoomInfoDAL.Table on a.RoomCode equals e.Code join it in _InspectionItemDAL.Table on d.InspItemCode equals it.Code join di in _DepartmentInfoDAL.FindList() on e.DeptCode equals di.Code join ph in _PhysicalRoomInfoDAL.Table on a.PhysicalRoomCode equals ph.Code into ph2 from ph3 in ph2.DefaultIfEmpty()
SELECT *
FROM AppointmentInfo a
INNER JOIN AppointmentDetail ad ON a.Code = ad.MasterCode
INNER JOIN InspectionItemDetail d ON ad.ItemCode = d.Code
INNER JOIN HisBillInfo h ON ad.HisKey = h.ItemId
LEFT OUTER JOIN PartName pn ON ad.PartCode = pn.Code
LEFT OUTER JOIN InspectionItemNote i3 ON i3.InspItemCode = a.InspectionCode AND (i3.Type = 0 OR CAST(i3.Type AS varchar) = a.PatientType)
INNER JOIN PatientInfo p ON a.PatientCode = p.Code
INNER JOIN ExamineRoomInfo e ON a.RoomCode = e.Code
INNER JOIN InspectionItem it ON d.InspItemCode = it.Code
INNER JOIN DepartmentInfo di ON e.DeptCode = di.Code
LEFT OUTER JOIN PhysicalRoomInfo ph3 ON a.PhysicalRoomCode = ph3.Code
WHERE a.Code = appointmentCode AND hisKeys.Contains(ad.HisKey) AND h.Status = 0