我有问题从两个数据库表中获取结果。这就是我所拥有的:
table A: 'courses'
math | history | geography | computer
1 | 2 | 3 | 4
和表B
user_id | classroom_id | course
1 | 5 | 3
1 | 5 | 4
1 | 6 | 2
我为每个循环返回了表A,但我想检查用户1在任何表格列上返回true或false的课程。 任何帮助赞赏。 我需要帮助而不是反对票:(
答案 0 :(得分:1)
我相信您的数据库设置错误。你想要的是像
Table_A:
PKEY | Course
1 | Math
2 | History
3 | Geography
4 | Computer
Table_B:
user_id | classroom_id | course
1 | 5 | 3
1 | 5 | 4
1 | 6 | 2
然后你可以做类似
的事情SELECT
TableA.PKEY,
TableA.Course,
TableB.user_id,
TableB.classroom_id,
TableB.course,
FROM TableA
LEFT JOIN TableB
ON TableA.PKEY = TableB.course
^^这将从BOTH表中返回数据。
你看到这一行
ON TableA.PKEY = TableB.course
^^This is called the foreign key.
BIG GOTCHA:确保两个^^^的列设置完全相同。例如,IF TableA.PKEY是UNSIGNED INT(10),那么TableB.course也必须是UNSIGNED INT(10)。它们必须相同才能使连接正常工作。