Two columns in subquery in where clause

前端 未结 3 710
闹比i
闹比i 2021-01-05 16:20

I have a query:

SELECT s.period, s.year, s.amount 
FROM salaries s

I would like to select from salaries table only the rows th

相关标签:
3条回答
  • 2021-01-05 16:41

    You can use more than one column for an IN condition:

    SELECT s.period, s.year, s.amount 
    FROM salaries s
    where (s.year, s.period) in (select year, period from periods)
    

    But Gordon's not exists solution is probably faster.

    0 讨论(0)
  • 2021-01-05 16:43

    Try this:

    SELECT s.period, s.year, s.amount FROM salaries s
    where s.period in (select period from periods)
    and s.year in (select year from periods)
    
    0 讨论(0)
  • Does this work with your environment?

    WHERE EXISTS (SELECT 1
                  FROM periods p
                  WHERE p.period = s.period AND p.year = s.year
                 )
    
    0 讨论(0)
提交回复
热议问题