2017-12-04 23 views
1

私はこのステートメントが3つ以上のステーションがあるシステムを返すことを望んでいますが、私はこれまでにはありましたが、次に何をすべきかはわかりません。すべてこれはregionIDが1100001未満のすべてのシステムを返します。少なくとも私は適切なアイデアを持っていますか?SQLステートメント内のSQLステートメント

SELECT DISTINCT mapSolarSystems.regionID,solarSystemID,solarSystemName,x,z,security 
FROM mapSolarSystems 
WHERE mapSolarSystems.regionID <11000001 
AND 
2 < (SELECT COUNT(*) FROM stations,mapSolarSystems 
WHERE mapSolarSystems.solarSystemID=stations.systemid) 
+0

この問題を解決するのに役立ちます。 –

+0

どうすれば使用できますか?同じシステムIDを共有するすべてのステーションIDエントリをカウントする必要はありませんか? – user237083

+0

ステーションとmapSolarSystems間のリンクは何ですか? – Radu

答えて

0

この作品かどうかを確認してください:

SELECT DISTINCT mapSolarSystems.regionID,solarSystemID,solarSystemName,x,z,security 
FROM mapSolarSystems m 
join stations s on m.solarSystemID = s.systemid 
WHERE mapSolarSystems.regionID <11000001 
AND select COUNT(*) FROM stations >2 

またはそのような:

SELECT DISTINCT 
mapSolarSystems.regionID,solarSystemID,solarSystemName,x,z,security 
FROM mapSolarSystems m 
join (select sistemId ,count(systemid) from station group by sistemId having 
     count(sistemId) > 2) X on m.solarSystemID = X.systemid 
WHERE mapSolarSystems.regionID <11000001 
+0

新しいvesionに編集しました。これがうまくいくかどうかを確認してください:) – Radu

+0

とにかく、 – Radu

0

はDISTINCT m.regionID、solarSystemIDを選択、mapSolarSystems MからsolarSystemName、X、Z、セキュリティがステーションに参加s on m.solarSystemID = s.systemidどこのm.regionID < 11000001 AND(SELECT COUNT(*)FROMステーション)> 2