簡體   English   中英

使用Apache在Linux上的MySQL數據庫中的三個表上進行內部,外部或完全聯接

[英]Inner, outer or full join on three tables in MySQL database on linux with apache

我想在創建查詢時獲得一些幫助,以從共享相同信息的三個不同表中獲取信息。 我的第一張桌子是:

auctions
id title description user_id(who posted it)

我的第二張桌子是:

bids
id user_id bid auction_id owner_id

我的第三張桌子是:

users
id username X XX XXX XXXX 

...而我的SQL如下,但是它不返回任何結果:

SELECT auction_bids.user_id AS applicant, auction_bids.*, auctions.title FROM auction_bids, auctions
        WHERE auctions.user_id=".$_SESSION['userid']."  
        INNER JOIN users ON auction_bids.user_id = users.id 
        WHERE auction_bids.owner_id = ".$_SESSION['userid']."

我需要捕獲拍賣的標題,在拍賣中出價的用戶名和出價。 拍賣必須有一個出價,並由擁有$ _SESSION ['userid']的用戶發布。 任何幫助表示贊賞。

您有兩個不同的“ where”語句,可能只需要合並即可;

SELECT auction_bids.user_id AS申請人,auction_bids。*,auctions.title來自auction_bids,拍賣INNER JOIN用戶ON auction_bids.user_id = users.id WHERE auction_bids.owner_id =“。$ _ SESSION ['userid']。” AND auctions.user_id =“。$ _ SESSION ['userid']。”

但是,我不確定這是否真的是您想要的,因為它只會返回特定用戶既“擁有”該商品並對其進行了出價的記錄(均基於userid會話),而不是顯示來自該用戶的所有記錄對用戶“擁有”的商品進行出價的不同人員。

就像是: ? SELECT auction_bids.user_id作為AS申請人,auction_bids。*,auctions.title來自auction_bids,拍賣INNER JOIN用戶,放在auction_bids.user_id = users.id,WHERE auction.owner_id =“。$ _ SESSION ['userid']”。

希望這能為您指明正確的方向!

您有2個where子句,這是不正確的。 我已根據您的要求修改了您的查詢。

SELECT auction_bids.user_id AS applicant, auction_bids.*, auctions.title 
FROM auction_bids, auctions
        INNER JOIN users ON auction_bids.owner_id = users.id 
        WHERE auction_bids.owner_id = ".$_SESSION['userid']."
        AND auctions.user_id=auctions_bids.owner_id  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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