簡體   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