如何从我的两个表中获取值?
How can I get values from both my tables?
假设我必须 MySQL 这样的表格。
TBL_1
ID - NAME - DESCRIPTION
1 foo very nice
TBL_2
ID - PRICE - CATEGORY - QUANTITY
1 10 a 5
如果我要像这样设置一个 PDO 实例....
<?php
$handler = new PDO("XXXX;XXXXX","XXX","XXX");
$query = $handler->query('SELECT * FROM TBL_1');
while($r = $query->fetch(PDO::FETCH_OBJ)) {
echo $r->id;
echo $r->name;
echo $r->description;
//echo $r->price;
//echo $r->category;
//echo $r->quantity;
}
如何访问 price
、category
、quantity
,其中两个表中的 ID
彼此相等?
所以比如说,它会变成这样。
1 foo very nice 10 a 5
假设 ID
列包含相同的值(即存在外键约束,因为这些值代表相同的实体),您将希望使用 INNER JOIN
执行查询柱子。默认情况下,使用 INNER JOIN
,如果请求的值(例如 WHERE 'ID' = 3
子句)在 table 中都不存在,则不会返回任何结果。尝试以下操作:
SELECT *
FROM `TBL_1` AS `t1`
INNER JOIN `TBL_2` AS `t2` ON `t1`.`ID` = `t2`.`ID`;
您可以使用 JOIN
:
SELECT name, description, price, category, quantity
FROM TBL_1
JOIN TBL_2
USING (id)
希望对您有所帮助。
您只需在 table 上执行 INNER JOIN
,其中每个 table 上的 id
都相等。
SELECT * FROM TBL_1 INNER JOIN TBL_2 ON TBL_1.ID=TBL_2.ID;
假设我必须 MySQL 这样的表格。
TBL_1
ID - NAME - DESCRIPTION
1 foo very nice
TBL_2
ID - PRICE - CATEGORY - QUANTITY
1 10 a 5
如果我要像这样设置一个 PDO 实例....
<?php
$handler = new PDO("XXXX;XXXXX","XXX","XXX");
$query = $handler->query('SELECT * FROM TBL_1');
while($r = $query->fetch(PDO::FETCH_OBJ)) {
echo $r->id;
echo $r->name;
echo $r->description;
//echo $r->price;
//echo $r->category;
//echo $r->quantity;
}
如何访问 price
、category
、quantity
,其中两个表中的 ID
彼此相等?
所以比如说,它会变成这样。
1 foo very nice 10 a 5
假设 ID
列包含相同的值(即存在外键约束,因为这些值代表相同的实体),您将希望使用 INNER JOIN
执行查询柱子。默认情况下,使用 INNER JOIN
,如果请求的值(例如 WHERE 'ID' = 3
子句)在 table 中都不存在,则不会返回任何结果。尝试以下操作:
SELECT *
FROM `TBL_1` AS `t1`
INNER JOIN `TBL_2` AS `t2` ON `t1`.`ID` = `t2`.`ID`;
您可以使用 JOIN
:
SELECT name, description, price, category, quantity
FROM TBL_1
JOIN TBL_2
USING (id)
希望对您有所帮助。
您只需在 table 上执行 INNER JOIN
,其中每个 table 上的 id
都相等。
SELECT * FROM TBL_1 INNER JOIN TBL_2 ON TBL_1.ID=TBL_2.ID;