我有分支表,库存表和项目表。我想要检索item id
,item name
,qty
(数量)和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)
这是我写过的代码,但它给出了以下错误。
错误1064(42000):您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 要在'加入item_ID.tbl_item =附近使用的语法 tbl_item_item_ID.tbl_inventory'在第3行
有谁可以帮我解决这个问题。表格将显示在附加的页面上。
答案 0 :(得分:1)
您的AND
条件之间缺少WHERE
:
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可以更好,更清晰地读取代码,还可以提高代码性能。
答案 1 :(得分:0)
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
);
上述查询给出了语法错误。