sql - SELECT DISTINCT Users in Table 1 which don't exist in Table 2 -
i have table 4 columns of user information. each table has following columns:
username | full_name | job_name | current_job_allowed
table 1 includes users , job_name have permissions view. means there multiple lines of same username in table 1 different job_name values.
table 2 contains list of possible users.
username |full_name --------------+----------------- amunoz |andrew munoz csmith |carl smith cwatkins |cat watkins ggriffiths |garmin griffiths jcarr |jason carr jhothi |jark hothi jphillips |jim phillips lbradfield |lisa bradfield ntaylor |noria taylor rfelipe |ralf felipe
query 1 contains users specified query parameter specify, i.e. 'kml_20160531'.
i select distinct list of users have different job_name parameter specify job_name. example table 1 contains:
username|full_name |job_name |current_job_allowed --------+------------+------------+---------------------- amunoz |andrew munoz|kml_20160531|1 jcarr |jason carr |kml_20160531|1 rfelipe |ralf felipe |kml_20140531|1 amunoz |andrew munoz|kml_20160431|1
i return below when enter 20160531 job_name. return possible new users job_name value entered.
username |full_name --------------+--------------- csmith |carl smith cwatkins |cat watkins ggriffiths |garmin griffiths jhothi |jark hothi jphillips |jim phillips lbradfield |lisa bradfield ntaylor |noria taylor rfelipe |ralf felipe
this parameter query show users have table 1
row job_name
matching parameter value:
parameters which_job text ( 255 ); select t1.[username], t1.job_name [table 1] t1 t1.job_name=[which_job];
so can use subquery, left join table 2
subquery, , select rows "right side" null:
parameters which_job text ( 255 ); select t2.[username] [table 2] t2 left join ( select t1.[username] [table 1] t1 t1.job_name=[which_job] ) sub on t2.[username] = sub.[username] sub.[username] null;
assuming query returns correct rows, add other field want see select t2.[username]
.
you should not need distinct
unless table 2
allows duplicate username
values, or table 1
allows more 1 row same combination of username
, job_name
.
Comments
Post a Comment