[英]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.