【发布时间】:2021-05-23 16:48:53
【问题描述】:
经过几个小时和几个死胡同,我决定与你们核实一下。如果那里有类似的问题/答案,并且我缺乏正确的 SQL 理解并没有帮助我理解它的要点,我深表歉意。但这里是:
我的目标是使用一张表为清单/待办事项创建单独的项目列表。像这样的:
List title:
|
|---"First Entry Title" - "First Entry Body"
|---"Second Entry Title" - "Second Entry Body"
|--- Etc
我正在尝试先进行 Distinct 搜索,然后使用其中的结果过滤同一个表并将其与别名“items”连接起来。如果有更好的方法,那么我不介意在那里提供一些帮助。我只是想这将是它的方式。
我目前正在使用 Sequelize,偶尔会有原始查询
我有一个清单条目表,一些行共享相同的“父”,例如:
| parent | title | body |
|---|---|---|
| First | title1 | body1 |
| First | title2 | body2 |
| Second | title3 | body3 |
| Third | title4 | body4 |
| Third | title5 | body5 |
我的目标是得到这样的查询结果:
| parent | title | body |
|---|---|---|
| First | title1 | body1 |
| title2 | body2 |
| parent | title | body |
|---|---|---|
| Second | title3 | body3 |
| parent | title | body |
|---|---|---|
| Third | title4 | body4 |
| title5 | body5 |
我意识到这个版本是可行的,当 sequelize 在另一个查询中返回给我时:
{
"noteID":77,"noteContactID":"85","noteComment":"Test note","noteDate":1613429041844",
"Contact":{
"contactID":85,"firstName":"Sully","middleName":null,"lastName":"Melland"
}
}
但是,这是使用两个模型完成的,同样,两个不同的表。 我希望避免这种方法,所以我不需要制作一个完整的表格来过滤“父母”
Note.findAll({
where: {noteContactID: req.params.id},
include: [Contact]
})
Table structure in the database
提前谢谢你!
【问题讨论】:
-
我怀疑您是否需要两张表才能完成这项工作。您只需要同一个表的两个(别名)实例。不幸的是,我不知道 node.js/sequelize,但这在 pdo 中是轻而易举的。
标签: javascript mysql node.js sequelize.js