php - 如何正确编写查询 SELECT'ing 多个表

标签 php mysql

请就以下查询提出建议。我想选择多个表。 EntryId 来自表 stockTracking。我打赌我应该使用 JOIN 或 smt..干杯!

$updateEntryId  = $_GET["entryId"];
$query          = "SELECT * 
                   FROM stockTracking, loggers, boxes 
                   WHERE entryId ='$updateEntryId'";
$result         = mysqli_query($connection, $query);

表格

boxes|boxId boxQuantity boxName
        2           10      CL64

loggers | loggerId loggerQuantity loggerName
              2         10           34242342
stockTracking| entryId  time        destination reference
              2        timestamp        Paris       1312

我已将查询更新为以下内容,但是我的 WHERE 语句有什么问题吗? 当我添加 WHERE EntryId='$updateEntryId' 如果无法显示任何结果时

$updateEntryId  = $_GET["entryId"];
$query          = "SELECT * 
               FROM stockTracking
               JOIN loggers
               ON entryId=loggerId 
               JOIN boxes
               ON boxId=entryId 
               WHERE entryId='$updateEntryId'";

最佳答案

是的,你说得对。您应该在如下表中执行JOIN 操作。将下面示例 SQL 代码中的 some_column 替换为您在表之间具有关系的实际列名称

SELECT s.* 
FROM stockTracking s
JOIN loggers l ON s.some_column = l.some_column
JOIN boxes b ON b.some_column = s.some_column
WHERE s.entryId ='$updateEntryId'

关于php - 如何正确编写查询 SELECT'ing 多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44958091/

相关文章:

php - 将 MySQL 查询分成 $query 和 $result 有什么值(value)?

Mysql月-年比较

mysql - 按月和日选择mysql中的 'DATE'字段并进行比较

php 无法连接到 mysql 并查询用户/密码

php - 我如何用数组计算for循环中的多行?

php - 如何在网站上显示不同货币的价格?

php - MySQL 中复杂的足球联赛动态排序?

php - 逻辑运算符: is AND better than OR?

php - 如何在 1-edit 距离内生成一个单词的所有变体 (Levenshtein)?

JavaScript 验证 : Block special characters From input text box when click on submit