簡體   English   中英

無法使用連接從兩個表中獲取數據

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

我怎樣才能做到這一點。

使用JOINwhere

 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.

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