2014-06-05 86 views
0

我有2個表選擇字段和另一個表匹配,並返回VALES

類別

categories (cid, year_id, category_title) 

用戶

users (uid, year_id, name, rollno, password) 

當用戶登錄自己的rollno和密碼我想顯示他的類別 選擇year_id在 '類別'

我試圖

SELECT * '用戶' 和匹配爲year_id FROM類別WHERE(選擇year_id =從用戶的$一年)

回答

1

使用一個簡單連接

SELECT c.* FROM categories c 
JOIN users u ON(c.year_id =u.year_id) 
WHERE u.year_id='$year' 

編輯

SELECT c.*,u.year_id user_year FROM categories c 
JOIN users u ON(c.year_id =u.year_id) 
WHERE u.uid='$user_id' 
+0

這裏還有一個問題是如何從用戶表抓取year_id登錄用戶 – Sushant

+0

@Sushant看到我更新的答案 –

+0

如果'$ user_id'實際上是你基於搜索的值,那麼JOIN會是規定在這裏,這個答案將工作得很好。 – Benjam

0

如果year_id對於兩者都是相同的,並且您知道從users表返回的year_id,則只需在categories表中使用select中的該值。

SELECT * 
FROM `categories` 
WHERE `year_id` = '[year_id from users data]' 

不需要連接。

UPDATE:

驗證用戶登錄:

SELECT * 
FROM `users` 
WHERE `rollno` = '[users rollno]' 

然後比較從查詢到用戶提供的密碼恢復密碼,如果他們匹配,你知道用戶是有效的,並且可以使用也被返回以獲取類別的year_id

+0

這裏的一個問題是如何從用戶表抓取year_id登錄用戶 – Sushant

+0

查看更新後的答案。另外...你原來的問題不是很清楚你的問題/需要。 – Benjam

+0

感謝您的幫助:) – Sushant

相關問題