2015-05-14 115 views
0

我有兩個表,Post和Cart,當用戶添加一個項目,在這種情況下,該項目是Post表格中的一個帖子,Post ID,帖子名稱和用戶名添加它被添加到購物車表。我想要做的是當用戶登錄時,他們的用戶名與Cart表中的用戶名匹配,檢索Post ID並將帖子ID與帖子表中的ID進行比較,以便我可以檢索整個帖子,下面是一個草圖我的表的MySQL查詢從兩個表中獲取數據

   Cart_item table 
| item_id | post_id  | username  | 
|:-----------|------------:|:------------:| 
| 1   |  127 |  Chrome  


    Post Table 
| post_id | make | price|seller| 
|:--------|------|-----:|:----:| 
| 127 |BMW |$12000| Joan  

查詢應首先尋找在車表中的用戶,當它發現用戶,應該再拿到這是他的「post_ids」他所有的車項目,並與他們對應的匹配post_ids如果找到了Post表,那麼它應該檢索帖子並顯示用戶。我該如何解決這個問題?有人可以幫助我,我會欣賞。

+0

使用join,https://dev.mysql.com/doc/refman/5.0/en/join.html'on post_table.post_id = cart_item.post_id'假設post中的'this'實際上是'127',''這作爲一個id是不是太有用。 – chris85

+0

我剛剛編輯它,我知道我想使用一個連接,但情況如何,我不能找出一個查詢,首先將用戶名與購物車表中的用戶名進行比較,如果找到,然後獲得帖子ID,並將其與在郵政表中,如果發現然後檢索整個帖子,我會很感激,如果有人幫助我。 – Chrome

+0

下面的答案不起作用? – chris85

回答

0
select post_table.* from post_table 
left join cart_item on cart_item.post_id=post_table.post_id 
where cart_item.username="Chrome"; 
+0

避免使用「*」,你可能會帶來不必要的數據。 – Kevin

+0

@Bhawin這個查詢究竟如何工作?原諒我,我更喜歡學習,所以下次我遇到這樣的問題時,我會知道我的出路而不是再次尋求幫助 – Chrome

+0

是的,你可以使用post_table.make,post_table.price等等,答案是提出一個觀點,以便你得到解決方案,我們不要在stackoverflow中提供feed。 –

0

你必須做的是檢索Cast_item表有Chrome記錄(或你正在尋找的用戶)爲username,然後,加入該表到Postpost_id關鍵

select username, post.* 
from Cart_item 
inner join Post on Cart_item.post_id=Post.post_id 
where username="Chrome"; 
+1

謝謝,它的工作也是如此。 – Chrome