我真的希望有人可以帮助我。到目前为止,这个问题已经打败了我。我有一张表格,其中包含每个人参加会议的次数。我需要使用参加人数最多的人的第一个字母来查询另一个以相同字母开头的表格中的姓名。我会很感激任何建议。
答案 0 :(得分:1)
如果您有一个包含总列的员工姓名表,则可以执行此类操作:
select *
from other_tab ot
inner join (select substr(emp_name, 1, 1) first_letter,
rank() over (order by attendences desc) rnk
from emp_meeting_count) mc
on ot.name like mc.first_letter || '%'
where mc.rnk = 1;
我使用了rank()
,因为两个或更多员工的出勤率可能最高
答案 1 :(得分:0)
你可以使用Like运算符来实现这个场景
SQL WILDCARDS可用于搜索表格中的数据。
SQL通配符与SQL LIKE运算符一起使用。
Syntax
SELECT [* | column_list]
FROM <table_name> WHERE ( column_name)
LIKE <wildcards>;
实施例
SELECT cust_code,cust_name,cust_city,cust_country
FROM customer
WHERE cust_name LIKE 'S%';
请参阅以下链接以获取信息
http://www.w3resource.com/sql/wildcards-like-operator/wildcards-like-operator.php
答案 2 :(得分:0)
会像这样的工作吗?我正在写作假设
table_abc包含人名和出勤人数 table_xyz是另一个要检查的表
select result_xyz.* from
(select substr(name,1,1) valueA from table_abc
where attendance_count=(select max(attendance_count) from table_abc)) result_abc,
(select substr(name,1,1) valueB,name from table_xyz) result_xyz
where result_abc.valueA=result_xyz.valueB