我需要SQL语句的帮助: - (
让我们说有三个表:
Table1
id / vorname / user
Table2
id / groupename / user / level
Table 3
id /groupename / description
目前我的SQL看起来像这样:
select table1.vorname, table2.groupename, table2.user, table2.level from table2 left join table1 on table2.user = table1.user;
所以我得到表2的所有数据(用户)和表1中的正确uservorname。
现在我卡住了......
我有表3中的id,需要将记录集限制为只有那些组合。
在这种情况下的关键是groupename所以我必须得到Table3中的groupename,其中id与我的相同,并将groupename与table2中的groupename进行比较,以限制记录仅限于此组... / p>
Table2.groupename = Table3.groupename
但我不知道如何解决它。
谢谢!
答案 0 :(得分:1)
select table1.vorname,
table2.groupename,
table2.user,
table2.level
from table2
inner join table3 on table2.groupname = table3.groupname
left join table1 on table2.user = table1.user
答案 1 :(得分:1)
你可以使用像
这样的老派select table1.vorname, table2.groupename, table2.user, table2.level
from table1, table2, table3
where table2.user = table1.user
and table2.groupename = table3.groupename
and table3.id = '[my id]'
使用连接可能更有效,并且可能使意图更清晰。
select table1.vorname, table2.groupename, table2.user, table2.level
from table1
inner join table2 on table2.user = table1.user
inner join table3 on table2.groupename = table3.groupename
where table3.id = '[my id]'