有三个表
item_id
,item_name
)availability
,item_id
)price
,item_id
)我希望根据主屏幕中显示的item_name
获取availability
,price
和item_id
SELECT
rawmaster.item_name,
rawdetails.expiry_date,
rawdetails.batch_sequence_num,
rawdetails.available_qty
FROM master_rawitem_t rawmaster
INNER JOIN rawitem_details_t rawdetails
ON rawmaster.item_id=rawdetails.item_id
INNER JOIN rawitem_price_t rawprice
ON rawdetails.item_id=rawprice.item_id;
但我得到的是笛卡尔积。
答案 0 :(得分:0)
你说你得到的是笛卡尔积;你是说这个因为每个item_id得到多行?
据推测,item_id是master_table的主键。其他两个表的主键是什么?因为你只加入了item_id,如果他们的PK是不仅 item_id(我认为它们不是,否则你可以将所有这些数据放在一个表中)然后有多个具有相同的行另外两个表中的item_id将为每个item_id提供多行。