繁体   English   中英

从MySQL的子查询中选择列中的值

[英]Select value in column from subquery, MySQL

我正在处理两个数据库表。

A包含许多产品的名称:

_id,
prod_name, 
prod_description,
...

B有注释(它们是销售):

_id, 
note_num, 
prod_id, 
prod_price, 
quantity,
...

我正在代码中寻找自动化

我想选择以下内容:

SELECT note_num, prod_id, (I want the prod_name from table A), prod_price 
FROM tableB 
WHERE id_ = 1

但是,数据的检索器是一个数组。

我认为我的子查询中缺少某些内容

(SELECT prod_name FROM tableA WHERE prod_id = prod_id)

我的输出必须是这样的数组:

5  | Pink(with id 50) | 40.00
5  | Blue(with id 20) | 50.00
5  | Red (with id 10) | 55.50

假设tableA键也是prod_id,请使用INNER JOIN

"SELECT note_num, prod_id, tableA.prod_name, prod_price 
 FROM tableB 
 INNER JOIN tableA on tableB.prod_id = tableA.prod_id 
 WHERE id_ = 1"

要使用两个表中的列,请使用INNER JOIN 您甚至可以从每个表中选择哪些列。

SELECT b.*, a.nameColumn1, a.nameColumn2 
  FROM tableB b
  INNER JOIN tableA a 
    ON b.prod_id = a.prod_id 

.*表示表的所有列。

您是否尝试通过让子查询获取列中的值来使用以下选项? 在此示例中,项目是主表,(类别和部门)是包含名称列表的表,这些列表通过id字段链接到project表中的category_iddivision_id

SELECT *
, (SELECT name FROM category WHERE category.id = project.category_id) AS 'category'
, (SELECT name FROM division WHERE division.id = project.division_id) AS 'division'
FROM `project`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM