2016-10-07 81 views
1

所以我正在一個PHP項目,其中一個連接到MySQL數據庫。由於我(不太清楚)如何創建SQL查詢的知識,我陷入了一條SQL語句。MySQL的查詢語句邏輯

因此,這裏是我的情況:

我想下面的查詢,以獲得最新的主動拍賣

SELECT * 
FROM `#__wp_auctions` 
WHERE `start` <= CURRENT_TIMESTAMP 
AND `end` >= CURRENT_TIMESTAMP + (the max delay of an open auction item) 

而且獲得目前拍賣的最大延遲是由下面的查詢

SELECT MAX(`delay`) 
FROM `#__wp_auction_items` 
WHERE `auction` = (over here should be the ID of current auction) 

現在有辦法將兩個表一起添加,以便我可以使用第一個查詢的結果以第二個或其他方式輸入?

例如:獲取第一個查詢的結果,將第二個查詢中的id(拍賣)放入第二個查詢中,然後獲取最大延遲並編輯第一個查詢?

回答

0

你可以做這樣的事情:

SELECT * 
FROM '#__wp_auctions' 
WHERE 'start' <= CURRENT_TIMESTAMP 
AND 'end' >= CURRENT_TIMESTAMP + (SELECT MAX('delay') 
FROM '#__wp_auction_items' WHERE 'auction' = (over here should be the ID of current auction)) 

使用第二 '的Selec' 的說法。

+0

Current_timestamp是現在我猜測的時間字符串。有什麼辦法可以將分鐘添加到SQL中的字符串? – Hoffie

+0

TIMESTAMPADD(MINUTE,30,CURRENT_TIMESTAMP); –

+0

但是,我如何將主查詢的ID傳遞給子查詢(子)? – Hoffie