gpt4 book ai didi

mysql - 双结果MYSQL查询(Drupal数据库)

转载 作者:行者123 更新时间:2023-11-29 20:35:09 25 4
gpt4 key购买 nike

我正在尝试获取 SQL 结果,我想将一些字段连接到用户(来自 Drupal 数据库)。我的查询如下所示:

SELECT * FROM users LEFT OUTER JOIN field_data_field_wekelijkse_newsletter ON users.uid = field_data_field_wekelijkse_newsletter.entity_id 
LEFT OUTER JOIN field_data_field_woonplaats ON users.uid = field_data_field_woonplaats.entity_id
LEFT OUTER JOIN field_data_field_naam ON users.uid = field_data_field_naam.entity_id

我有两个问题:

  1. 我得到了双重结果(用户名)
  2. double 结果中“field_data_field_wekelijkse_newsletter”的值不同。

有人可以帮我写一个好的查询吗?

最佳答案

如果不太了解您的数据模型,并且仅取消列的命名,您的结果可能根本不重复。如果用户可以订阅不止一份时事通讯,那么也许这就是正在发生的事情。您正在返回您JOIN每个表中的所有字段。在。如果您提供更多信息,例如架构定义、列名称等,我可以给出更准确的答案。

此外,我可以为您提供一些有关编写 SQL 的样式技巧!

  1. 使用换行符和制表符,为后面的开发人员编写您的查询!可读的查询器是最好的(通常没有错误)查询。

  2. 使用别名。通常,我对待别名与变量名非常相似:我让它们有意义并且简短。如果无法为表创建有意义的简短别名,则使用表的缩写(对于诸如 field_data_field_woonplaats 这样的表名称,很难创建简单的别名!请考虑重命名)

  3. 命名法就是一切!为您的表、列、 View 、索引、触发器、键等一切命名,以便您(和其他开发人员)可以轻松记住它们,并能够掌握和完全理解它们代表什么类型的对象(它们保存的数据)。

  4. 使用分号来终止语句。

    SELECT * 
    FROM users u
    LEFT OUTER JOIN field_data_field_wekelijkse_newsletter fdfwn
    ON u.uid = fdfwn.entity_id
    LEFT OUTER JOIN field_data_field_woonplaats fdfw
    ON u.uid = fdfwn.entity_id
    LEFT OUTER JOIN field_data_field_naam fdfn
    ON u.uid = fdfn.entity_id;

关于mysql - 双结果MYSQL查询(Drupal数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38830508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com