【问题标题】:Multiple queries with MySQL使用 MySQL 进行多个查询
【发布时间】:2017-11-07 14:48:17
【问题描述】:

美好的一天! 我不熟悉 PHP 和 MySQL 的多个查询,我还没有找到我的问题的答案(也许不可能做到?)。 我有一个包含多个表的数据库,我尝试构建一个依赖于前一个查询结果的多个查询(在 PHP 中)。这是我的数据库的一个示例:

Table1

id:1, first_name: Sally, last_name:Meyers,
id:2, first_name: George, last_name:Smith,
id:3, first_name: Peter, last_name:Gabriel,
id:4, first_name: John, last_name:Doe

Table2

type: hystory, number: 123456789, last_name:Meyers,
type: suspense, number: 1321465447, last_name: Smith,
type: sci-fi, number: 931213246, last_name: Gabriel,
type: suspense, number: 555221321, last_name: Doe

Table3

title: War and Peace, year: 1997, author: 3, type: hystory,
title: Justice for all!, year: 2014, author: 1, type: suspense,
title: Time lost, year: 2001, author: 2, type: sci-fi,
title: The cold war, year: 1981, author: 3, type: suspense,

我的查询是这样的:

SELECT first_name, last_name FROM Table1 WHERE id=3 AND SELECT sci-fi FROM Table2 WHERE last_name = [result of the first query] AND SELECT title FROM Table3 WHERE type = [result of the second query];

最后,我要做的就是(通过 AJAX)将单个 JSON 对象返回到由数据库中选定元素组成的 Javascript。 请您帮忙构建这个多重查询吗?

【问题讨论】:

  • 您的问题是什么?你试过什么?为什么它不起作用?预期结果与实际结果?]
  • 我们总是乐于帮助和支持新的编码员,但您需要先帮助自己。 :-)doing more research 之后,如果您有问题发布您尝试过的方法,并清楚地解释什么不起作用并提供a Minimal, Complete, and Verifiable example。阅读How to Ask 一个好问题。请务必take the tour 并阅读this
  • 不清楚最终结果应该是什么,并且您的示例 SQL 并没有足够的意义来澄清这一点。除了创建一些非常模糊的伪代码之外,您为尝试解决这个问题做了什么也不清楚。
  • 对不起,我更新了我的问题(见最后一句话)。谢谢! :)
  • 我不太明白你的问题,但我认为你需要在查询中使用 JOIN :dev.mysql.com/doc/refman/5.7/en/join.html

标签: php mysql ajax


【解决方案1】:

你可能需要加入 3 个表,例如:

  SELECT first_name
      , last_name 
  FROM Table1 
  INNER JOIN Table2 ON Table2.last_name = Table1.last_name
  INNER JOIN Table3 ON Table3.type = Table2.type 
  WHERE Table1.id=3

【讨论】:

  • 这就是我需要的!对不起,如果我不清楚。我们每天都在学习! :) 非常感谢。
【解决方案2】:
SELECT foo.first_name, foo.last_name, bar.title
FROM table1 as foo
JOIN table2 as bar on foo.last_name = bar.last_name
JOIN table3 as cat on bar.type = cat.type
WHERE foo.id=3 and bar.type="sci-fi"

我认为:)

【讨论】:

    【解决方案3】:

    您可以进行 JSON 转换...

    SELECT json_object('FirstName', t1.first_name, 'LastName', t1.last_name,'Sci-Fi', t2.sci-fi, 'Title',t3.title)
     FROM Table1 t1
    join Table t2
    on t1.last_name = t2.last_Name
    join Table t3
    on t2.type = t3.type
    WHERE t1.id=3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      相关资源
      最近更新 更多