簡體   English   中英

加入並查詢兩個mysql表

[英]Joining and querying two mysql tables

我是php和MySql的新手,需要一些幫助。

我有兩個表1)包含三列的願望清單 - 一個emailId,itemId和alert

2)包含多個列的ItemList - itemId,itemName,itemPrice,itemUrl等。

當用戶使用特定的emailId登錄時,我需要在他的願望清單中顯示項目列表(來自itemList)以及其願望清單中的“警報”列。 由於兩個表都不同,並且emailId是我將擁有的唯一輸入,我需要找到一個最佳方法來查詢它。

WishList

----------------------------------
emailId      |  itemId  | alert
----------------------------------
aj@gmail.com     01        true
bb@gmail.com     02        false
aj@gmail.com     03        false
dj@gmail.com     03        false
cj@gmail.com     03        false
aj@gmail.com     04        false

ItemList
-------------------------------------------------
itemId | itemName | itemPrice | itemUrl | ..
-------------------------------------------------
 01       abc         129         
 02       cde         99
 03       def         981
 04       efg         29
 05       fgh         200

那么,給定emailId,我如何以最佳方式查詢與之對應的所有項目? 例如:如果emailId是aj@gmail.com,則需要輸出:

Output - aj@gmail.com
----------------------------------------------------------
 alert |  itemId | itemName | itemPrice | itemUrl | ..
---------------------------------------------------------
 true       01       abc         129         
 false      03       def         981
 false      04       efg         29

謝謝

編輯了這個問題。對此有所了解。

嘗試這個

從ItemList i中選擇*,其中i.itemId =(從WishList中選擇itemID,其中emailid =“emailaddress”)

您可以使用JOINRIGHT JOINLEFT JOIN方法。
嘗試這個 :

SELECT WL.emailId, WL.itemId, IL.itemName, IL.itemPrice 
FROM WishList WL
LEFT JOIN ItemList IL
on WL.ItemId = IL.itemId
//filter here, you can add WHERE CLAUSE

嘗試這個

select * from WishList join ItemList ON WishList.itemId = ItemList.itemId 
where emailId = "emailaddress"  

您可以對該類型的結果使用左連接。

Select * 
FROM ItemList I 
Left join WatchList W On I.ItemId=W.ItemId 
where your_require_condition ;

嘗試這個

select b.* from WishList as a join ItemList as b on a.itemId = b.itemId 
where a.emailId = 'email address' 

它將為您提供所需emailid的整個項目列表。

你可以嘗試以下查詢。

select *
from wishlist w,itemlist i
where w.itemid=i.itemid
and i.emailid="emailaddress"

使用LeftJoin

Select I.* from ItemList I Left join WishList W 
    on I.itemId = W.itemId where W.emailId = "<email_address>"

暫無
暫無

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

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