从一个表中选择字段并在另一个表中匹配它并返回值

时间:2014-06-05 06:24:08

标签: php mysql

我有2张桌子

类别

categories (cid, year_id, category_title)

用户

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

当用户使用他的rollno和密码登录时,我希望显示他的类别 从'用户'中选择year_id并在'类别'

中匹配year_id

我正在尝试

SELECT * FROM categories WHERE(选择year_id =' $ year'来自用户)

2 个答案:

答案 0 :(得分: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'

答案 1 :(得分:0)

如果year_id对于两者都相同,并且您知道从year_id表返回的users,则只需在categories的选择中使用该值} table。

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

不需要加入。

<强>更新

验证用户登录:

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

然后将从该查询返回的密码与用户提供的密码进行比较,如果它们匹配,则表示该用户有效,并且可以使用同时返回的year_id来获取类别。< / p>