2014-06-05 156 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

相关问题