MySQL中的多项选择结果取决于其他选择

死亡程序员

我有这样的数据库:

图式

例如,用户使用来请求所有posts数据posts.post_id = 1现在,我想从其他表中获取其他数据:

  • 从表中的某些领域postspost_id = 1
  • 从表中所有的Filedspostmetapost_id = 1
  • users中的某些字段取决于posts.user_id位置post_id = 1
  • 表中files与以下项有关联的所有字段post_id = 1
  • terms中的某些字段post_id = 1

在PHP中,我可以简单地运行5个查询来获取此信息,但是我猜这不是最好的方法,因为MySQL能够更快地执行此操作。

更新详细信息:

-- select from posts
SELECT
    posts.post_id,
    posts.post_title,
    posts.post_name,
    posts.post_content,
    posts.post_status,
    posts.post_type,
    posts.post_modified_gmt,
    posts.post_date_gmt,
    posts.post_mime_type,
    posts.user_id
FROM
    posts
WHERE
    posts.post_id = 1

--select from postmeta
SELECT
    postmeta.postmeta_value,
    postmeta.postmeta_key,
    postmeta.postmeta_id
FROM
    postmeta
WHERE
    postmeta.post_id = 1


SELECT
    files.file_size,
    files.file_type,
    files.file_name,
    files.file_id
FROM
    files
INNER JOIN file_relationships ON files.file_id = files.file_id
WHERE
    file_relationships.post_id = 1

--select from terms
SELECT
    terms.term_id,
    terms.term_name,
    terms.term_slug,
    terms.term_taxonomy,
    terms.term_description,
    terms.term_group,
    terms.term_parent,
    terms.term_count
FROM
    term_relationships
INNER JOIN terms ON term_relationships.term_id = terms.term_id
WHERE
    term_relationships.post_id = 1

--select from users , users.user_id depend on posts.user_id 
SELECT
    users.user_id,
    users.user_name,
    users.user_email,
    users.user_nicename,
    users.user_password,
    users.user_displayname,
    users.user_role,
    users.user_bio
FROM
    users
WHERE
    users.user_id = 1

这是查询,我运行以获取有关PHP,数据库和数据的信息

有没有一种方法可以仅使用MySQL?

模糊树

单个查询并不总是比多个查询更好。在这种情况下,我建议仅合并您的1对1关系,但对多对1关系保留单独的查询,因为如果单个帖子包含3个术语和2个文件,将多对1关系都连接起来,则会产生6行。

选择帖子,用户和帖子元数据

select * from posts p
join postmeta pm on pm.post_id = p.post_id
join users u on u.user_id = p.user_id
where p.post_id = 1

选择文件

select f.* from files f
join file_relationships fr on fr.file_id = f.file_id
join posts p on p.post_id = fr.post_id
where p.post_id = 1

选择条款

select t.* from terms t
join term_relationships tr on tr.term_id = t.term_id
join posts p on p.post_id = tr.post_id
where p.post_id = 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL选择取决于结果

来自分类Dev

MySQL选择取决于结果

来自分类Dev

“重新选择”选择取决于其他选择(jQuery)

来自分类Dev

Django模型选择字段-取决于其他字段的选择

来自分类Dev

MYSQL的结果取决于其他结果?情况何时?

来自分类Dev

MySQL选择表取决于其他两个表

来自分类Dev

在变量上选择值取决于其他变量

来自分类Dev

选择左联接中的行取决于其他表中字段的总和?

来自分类Dev

jQuery替换select中的值,具体取决于其他选择框

来自分类Dev

选择选项取决于 wordpress 管理页面中的其他选项

来自分类Dev

显示结果不重复,取决于其他表mysql

来自分类Dev

结果取决于其他表中的值

来自分类Dev

列取决于mysql中的其他列

来自分类Dev

联系表格选择选项取决于其他选择选项

来自分类Dev

Mysql Select与其他表中的选择结果

来自分类Dev

在KendoGrid中重新绑定DropDownList,具体取决于同一行中其他DropDownList中选择的值

来自分类Dev

MySQL从表中选择取决于变量

来自分类Dev

选择要与之相乘的列,取决于其他变量的值

来自分类Dev

选择取决于其他列的每个组的最大值

来自分类Dev

如何选择取决于其他列内容或列名称的列

来自分类Dev

从“多项选择”中选择一个选项时,将其从其他选择中删除(并反向)

来自分类Dev

列取决于其他

来自分类Dev

将MYSQL表中的数据输出到HTML表单中,具体取决于用户选择

来自分类Dev

哪个多项式回归度显着?取决于点数或其他参数?

来自分类Dev

如何在Mysql中使用更多“选择查询”以从其他表中获取结果

来自分类Dev

MySql从同一张表和其他表中合并了多个查询的选择结果

来自分类Dev

使用PDO根据mySQL中其他两个表的结果从表中选择行

来自分类Dev

无法从表中选择所有结果,这取决于PHP和MySQL中的另一个表(关系数据库)

来自分类Dev

MySQL的行值总和取决于其他相同的字段

Related 相关文章

  1. 1

    MySQL选择取决于结果

  2. 2

    MySQL选择取决于结果

  3. 3

    “重新选择”选择取决于其他选择(jQuery)

  4. 4

    Django模型选择字段-取决于其他字段的选择

  5. 5

    MYSQL的结果取决于其他结果?情况何时?

  6. 6

    MySQL选择表取决于其他两个表

  7. 7

    在变量上选择值取决于其他变量

  8. 8

    选择左联接中的行取决于其他表中字段的总和?

  9. 9

    jQuery替换select中的值,具体取决于其他选择框

  10. 10

    选择选项取决于 wordpress 管理页面中的其他选项

  11. 11

    显示结果不重复,取决于其他表mysql

  12. 12

    结果取决于其他表中的值

  13. 13

    列取决于mysql中的其他列

  14. 14

    联系表格选择选项取决于其他选择选项

  15. 15

    Mysql Select与其他表中的选择结果

  16. 16

    在KendoGrid中重新绑定DropDownList,具体取决于同一行中其他DropDownList中选择的值

  17. 17

    MySQL从表中选择取决于变量

  18. 18

    选择要与之相乘的列,取决于其他变量的值

  19. 19

    选择取决于其他列的每个组的最大值

  20. 20

    如何选择取决于其他列内容或列名称的列

  21. 21

    从“多项选择”中选择一个选项时,将其从其他选择中删除(并反向)

  22. 22

    列取决于其他

  23. 23

    将MYSQL表中的数据输出到HTML表单中,具体取决于用户选择

  24. 24

    哪个多项式回归度显着?取决于点数或其他参数?

  25. 25

    如何在Mysql中使用更多“选择查询”以从其他表中获取结果

  26. 26

    MySql从同一张表和其他表中合并了多个查询的选择结果

  27. 27

    使用PDO根据mySQL中其他两个表的结果从表中选择行

  28. 28

    无法从表中选择所有结果,这取决于PHP和MySQL中的另一个表(关系数据库)

  29. 29

    MySQL的行值总和取决于其他相同的字段

热门标签

归档