[英]Cannot get data from two tables using join
第一个表:产品
id | Name | Price | Discount
-------------------------------
1 xyz 200
2 xyz 250
3 yz 100 50
第二张表:买
id | userid | Product_id Card_details
------------------------------------------
1 1 1 55555
2 1 2 88888
3 3 1 77777
现在我的 php 变量中有 $user_id 。 如果用户 id 是 3 我想要以下输出:
id Name Price Discount user_id Product_id Card_details
3 yz 100 50 3 1 77777
我怎样才能做到这一点。
使用JOIN
或where
SELECT * FROM Product p JOIN buy b
ON p.id = b.Product_id
WHERE b.userid ='3'
SELECT * FROM Product JOIN buy ON Product.id = buy.id WHERE buy.userid = $user_id
;
试试下面的查询
$query = "SELECT Product.id, Product.Name, Product.Price, Product.Discount,
buy.userid , buy.Product_id, buy.Card_details
FROM Product
JOIN buy ON Product.id = buy.Product_id
WHERE buy.userid = 3";
首先在您的产品表中 xyz 是您必须为您的产品使用唯一名称以便更好地理解的时间。
现在在产品表 id 中是您的产品 id。 检查您的 Buys 表 productid 没有产品 ID 3 的条目。当您想为用户 ID 3 购买产品 3 时,对于用户 ID 3,购买表 productid 条目应为 3。
现在检查下面的查询它肯定对你有用。
SELECT * FROM Product
INNER JOIN buy ON Product.id = buy.Product_id
WHERE buy.userid = '3';
这意味着您希望通过用户 ID 3 购买产品。
尝试这个
DECLARE @USER_ID INT=3 --I/P of USER_ID
SELECT P.ID,
P.NAME,
P.PRICE,
P.Discount,
B.user_id,
B.PRODUCT_ID,
B.CARD_DETAILS
FROM #PRODUCT P
JOIN #BUY B
ON P.ID = B.ID
WHERE B.USER_ID = @USER_ID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.