簡體   English   中英

從 3 個表中檢索數據的 SQL 查詢

[英]SQL query to retrieve data from 3 tables

我有分支表、庫存表和項目表。 我想檢索item iditem nameqty (數量)和branch name (branch_add)。

SELECT tbl_item.item_name , 
tbl_inventory. tbl_item_item_ID , tbl_inventory.qty , tbl_branch.branch_add
FROM tbl_item,tbl_inventory ,tbl_branch
WHERE (tbl_inventory.tbl_item_item_ID = tbl_item.item_ID) JOIN (tbl_branch.branch_ID=tbl_inventory`.tbl_branch_branch_ID)

那是我寫的代碼,但它給出了以下錯誤。

ERROR 1064 (42000):您的 SQL 語法有錯誤; 檢查與您的 MySQL 服務器版本相對應的手冊,了解在第 3 行的“join item_ID.tbl_item = tbl_item_item_ID.tbl_inventory”附近使用的正確語法

任何人都可以幫我解決這個問題。 表格將顯示在附加的 png 上。

在此處輸入圖片說明

您的WHERE條件之間缺少AND

select 
    tbl_branch_branch_ID.tbl_inventory
    , item_name
from tbl_inventory
   , tbl_item
   , tbl_branch
where 
    branch_ID.tbl_branch=tbl_branch_branch_ID.tbl_i
    and item_ID.tbl_item = tbl_item_item_ID.tbl_inventory;

此外,您的 JOIN 條件有點偏離。

我認為這是您實際要查找的查詢:

select
    t_inv.*
   , t_itm.item_name
from tbl_inventory t_inv
    inner join tbl_item t_itm on t_inv.t_item_item_id = t_itm.item_id
    inner join tbl_branch t_br on t_br.branch_id = t_inv.tbl_branch_branch_id

使用顯式 JOIN 可以更好、更清晰地閱讀代碼,並且還可以提高代碼性能。

SELECT
tbl_item.item_name,
tbl_inventory.tbl_item_item_ID,
tbl_inventory.qty,
tbl_branch.branch_add
FROM
tbl_item,
tbl_inventory,
tbl_branch
WHERE
(
inner join tbl_item ON tbl_inventory.tbl_item_item_ID = tbl_item.item_ID
inner join branch_ID ON tbl_branch.branch_ID = tbl_inventory.tbl_branch_branch_ID
);

上面的查詢給出了語法錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM