さて、「having」条件を含むサブクエリがあります。select 句の having 条件にパラメータを追加する必要がありますよね?
だから私はサブクエリを持っています:
SELECT sfd.id, sfd.StartTime, sfd.EndTime, sd.StartTime
FROM ssp.SessionFloatData sfd, ssp.SessionData_daily sd
WHERE Name = 'nsrserverhost' AND Parameter = 'storagenode'
AND sd.id = sfd.id
HAVING (sfd.StartTime <= sd.StartTime AND sfd.EndTime >= sd.StartTime)
しかし、実際には、最初の列にのみ関心があります。取得したいのはid
.
私の声明全体の抜粋は、
WHERE sfd.id IN (SELECT sfd.id, sfd.StartTime, sfd.EndTime, sd.StartTime
...
HAVING (sfd.StartTime <= sd.StartTime AND sfd.EndTime >= sd.StartTime))
4 つの列が返されるので明らかに失敗します :( どうすればよいですか?
更新: 選択するとsfd.id
エラーが発生します: エラー 1054 (42S22): 不明な列 'sfd.StartTime' in 'having clause' 'having' の変更