我正在比较两个表的单列和匹配的列获取所有行
select *
from t_registered_std_info
where t_registered_std_info.t_ds_name == attendance.std_name
答案 0 :(得分:2)
您缺少参加表的人,还有一个=号,代表在何处。
SELECT *
FROM t_registered_std_info
INNER JOIN attendance
ON -- Please define the relation
WHERE t_registered_std_info.t_ds_name = attendance.std_name
答案 1 :(得分:0)
好像您想IN
做另一张桌子:
select *
from t_registered_std_info
where t_registered_std_info.t_ds_name IN (select attendance.std_name from attendance)
答案 2 :(得分:0)
如果您希望“ table1”中的所有行都具有“ table2”中的匹配值,请使用left join
:
select * -- you should list the columns you want here
from t_registered_std_info rsi left join
attendance a
on rsi.t_ds_name = rsi.std_name
注意:
from
查询的select
子句中。您不能“只是”在任何地方引用表。=
,而不是==
,尽管某些数据库确实可以识别后者。from
子句中组合多个表时,请使用显式JOIN
语法。exists
或in
之类的替代方法。