この複雑な選択をうまく機能させるのに苦労しています。
これが私の構造の図です。 http://www.bandwise.com/files/tester_db.png
構造体とサンプルデータのSQLファイル。 http://www.bandwise.com/files/tester_db.sql
簡単に言えば、「賃貸」というテーブルと「アパート」というテーブルがあります。賃貸とアパートの間には1対多の関係があります。アパートは、それらが属する米国の州と郡を識別します。したがって、特定の賃貸契約では、全国に多数のアパートが点在している可能性があります。
私がする必要があるのは、1つ以上のアパートを含み、適用されるリースの数のカウントを返す米国の州のみを選択することです。一部のリースでは複数の州にアパートがある場合があるため、複数の州でリースをカウントする必要がある場合があります。
これが私が使用しているテストクエリです。
SET @timenow = 1360855314;
SELECT l.lid, c.aid, c.leaseid, c.serialnum, c.state, c.county
FROM leases l, apartments c
WHERE c.leaseid = l.lid
AND l.closebidding > @timenow AND l.status = 1;
ここでは、州#1(テキサス)に6つのリースがあり、州#2(ルイジアナ)に2つのリースがあることがわかります。アパートの場所に基づいてリースの数を取得するために、状態テーブルから外部にクエリを実行するにはどうすればよいですか?
リターンは次のようになります。
---------------------------
| state | total |
---------------------------
| Texas | 6 |
---------------------------
| Louisiana | 3 |
---------------------------