gpt4 book ai didi

php - 具有重复字段的 MySQL JOIN 查询语法 - "database.table.field"

转载 作者:可可西里 更新时间:2023-11-01 08:26:24 28 4
gpt4 key购买 nike

我将这两个 MySQL 表放在同一个数据库中,我正在将其用于网站之类的论坛。我的问题是关于根据两者之间的“user_id”链接在表“topics”中加入新字段的正确查询。

表“users”,其中字段“user_id”在注册时创建,自动递增:

USERS╔═════════╦══════════╦═══════════╦══════════╦════════╗║ user_id ║ username ║ firstname ║ lastname ║ etc... ║╠═════════╬══════════╬═══════════╬══════════╬════════╣║       1 ║ JJJJ     ║ John      ║ Johnson  ║ etc... ║║       2 ║ MMMM     ║ Max       ║ Maxman   ║ etc... ║║       3 ║ AAAA     ║ Alex      ║ Aleckson ║ etc... ║╚═════════╩══════════╩═══════════╩══════════╩════════╝

Table "topics", where "user_id" is taken from the other table when any user submits what you would normally call a new thread on forum websites.

TOPICS╔══════════╦═════════════╦═══════════════════╦═════════╦═════════╗║ topic_id ║ description ║     datetime      ║ user_id ║ etc ... ║╠══════════╬═════════════╬═══════════════════╬═════════╬═════════╣║        1 ║ bla bla     ║ dd mon yyyy hh:mi ║       3 ║ etc...  ║║        2 ║ bla bla     ║ dd mon yyyy hh:mi ║       3 ║ etc...  ║║        3 ║ bla bla     ║ dd mon yyyy hh:mi ║       2 ║ etc...  ║╚══════════╩═════════════╩═══════════════════╩═════════╩═════════╝

I can confirm connection with the db is established succesfully in PHP. The db name is "website". I am running the following query with no success, for what I;d like to be the result you see in the third table ( right joining the last field).

mysql_query("SELECT topics.user_id, users.user_id
FROM website.topics
JOIN website.users ON topics.who_posted_hangout;");
TOPICS╔══════════╦═════════════╦═══════════════════╦═════════╦═════╦═══════════════════╗║ topic_id ║ description ║     datetime      ║ user_id ║ etc ║ username          ║╠══════════╬═════════════╬═══════════════════╬═════════╬═════╬═══════════════════╣║        1 ║ bla bla     ║ dd mon yyyy hh:mi ║       3 ║ etc ║ AAAA              ║║        2 ║ bla bla     ║ dd mon yyyy hh:mi ║       3 ║ etc ║ AAAA              ║║        3 ║ bla bla     ║ dd mon yyyy hh:mi ║       2 ║ etc ║ MMMM              ║╚══════════╩═════════════╩═══════════════════╩═════════╩═════╩═══════════════════╝

我使用了一个我在某处看到的示例来编写查询,但有些东西对我来说没有意义:

  • Q1:我以前写查询的例子,为什么他实际上是从两个表中选择数据,却只提到了一个表,其中“FROM”?
  • 问题 2:关于上述问题,由于 user_id 是两个表中的字段,此查询不会出现意外行为吗?
  • 问题 3:我看到您可以使用此语法选择“table1.field1”。过去,我也在查询中看到过“database1.table1”。哦,正如您所见,我实际上在查询中使用了这种格式/语法(考虑到“网站”是数据库的名称)。您有时可以并且应该像这样选择:“database1.table1.field1”,正是因为“user_id”是重复的,每个表中都有一个? - sublime text 不会将“3-way.3-way.3-way”识别为正确的语法,因为有两个点。
  • 问题 4:最后,同样重要的是,为什么我的查询不起作用,如果您知道问题出在哪里,可以修改一下吗? :-/?


提示:如果您想在 stackoverflow 问题中显示这样的表格,请使用 http://www.sensefulsolutions.com/ ,复制unicode艺术结果,并将其放在 <pre> </pre>之间标签。

最佳答案

尝试:

'SELECT * FROM topics INNER JOIN users ON topics.user_id = users.user_id WHERE topics.user_id = the_user_id';

关于php - 具有重复字段的 MySQL JOIN 查询语法 - "database.table.field",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35121400/

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