18

これは正しいです?

SELECT * 
FROM   contract 
JOIN   team USING (name_team) 
JOIN   player USING(name_player) 
WHERE  name_team = ? 
AND    DATE_PART('YEAR',date_join)>= ? 
AND    DATE_PART('YEAR',date_leave)<= ?

私のテーブルcontractには、選手名、チーム名、そして彼がクラブに加入した日付と去った日付が記載されています。
特定の年にチームに所属していたすべてのプレーヤーをリストする関数を作成したいと考えています。
上記のクエリは機能していないようです...

4

2 に答える 2

6

日付部分なしで between を使用しない理由:

WHERE datefield BETWEEN '2009-10-10 00:00:00' AND '2009-10-11 00:00:00'

またはそのようなもの?

于 2010-12-19T05:33:56.867 に答える