[英]Two columns in subquery in where clause
我有一個問題:
SELECT s.period, s.year, s.amount
FROM salaries s
我想從salaries
表中選擇具有句點和年份的行等於:
SELECT p.period, p.years
FROM periods p
我知道最簡單的方法是使用join,但問題是 - 在應用程序中我只能在WHERE
之后添加一個子句
所以解決方案應該是:
SELECT s.period, s.year, s.amount
FROM salaries s
WHERE ...
那可能嗎?
編輯:結果應該是:
SELECT s.period, s.year, s.amount
FROM salaries s
JOIN periods p ON s.period = p.period AND s.year = p.year
IN
條件可以使用多個列:
SELECT s.period, s.year, s.amount
FROM salaries s
where (s.year, s.period) in (select year, period from periods)
但戈登not exists
解決方案可能更快。
這適用於您的環境嗎?
WHERE EXISTS (SELECT 1
FROM periods p
WHERE p.period = s.period AND p.year = s.year
)
試試這個:
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.