【发布时间】:2021-12-19 20:20:21
【问题描述】:
我使用 Typeorm 查询构建器生成了以下查询
当前行为: 现在发生的事情是海军陆战队被正确过滤,但选定的连接也被给定条件过滤。只返回符合条件的码头,而不是所有属于海军陆战队的码头。
期望的结果: 我想获得至少拥有一个名为“dock 1”的码头的所有海军陆战队员。我想包括属于该海军陆战队的所有码头,而不考虑他们的名字。
我应该如何执行这个查询?
任何帮助将不胜感激。
mariadb 版本 15.1
typeorm@0.2.37
SELECT `c`.`id` AS `c_id`,
`c`.`name` AS `c_name`,
`c`.`description` AS `c_description`,
`c`.`FkId` AS `c_FkId`,
`c`.`FkModel` AS `c_FkModel`,
`c`.`isActive` AS `c_isActive`,
`c`.`createdAt` AS `c_createdAt`,
`c`.`updatedAt` AS `c_updatedAt`,
`c`.`phones` AS `c_phones`,
`c`.`emails` AS `c_emails`,
`c`.`mainImage` AS `c_mainImage`,
`c`.`galleryImages` AS `c_galleryImages`,
`c`.`addressDetailsId` AS `c_addressDetailsId`,
`c_Docks`.`id` AS `c_Docks_id`,
`c_Docks`.`name` AS `c_Docks_name`,
`c_Docks`.`description` AS `c_Docks_description`,
`c_Docks`.`FkId` AS `c_Docks_FkId`,
`c_Docks`.`FkModel` AS `c_Docks_FkModel`,
`c_Docks`.`isActive` AS `c_Docks_isActive`,
`c_Docks`.`createdAt` AS `c_Docks_createdAt`,
`c_Docks`.`updatedAt` AS `c_Docks_updatedAt`,
`c_Docks`.`MarineId` AS `c_Docks_MarineId`
FROM `marine` `c`
LEFT JOIN `dock` `c_Docks` ON `c_Docks`.`MarineId` = `c`.`id`
WHERE `c`.`isActive` = true
AND (`c_Docks`.`name` = 'dock 1')
# ORDER BY c_id DESC
【问题讨论】: