2012-01-09 27 views
1

Query1を:これらの2つのクエリを1つに結合するにはどうすればよいですか?

SELECT DISTINCT FirstOfFrequencyMHz, Min(LicenceData.distance) AS CoFX 
FROM [Freq List], LicenceData 
WHERE ((([LicenceData].class_stat) Like 'F*') And (([LicenceData].type_lc)="A") And (([LicenceData].frequency) Between FirstOfFrequencyMHz-0.0249 And FirstOfFrequencyMHz+0.0249)) 
GROUP BY FirstOfFrequencyMHz 

QUERY2:

SELECT DISTINCT FirstOfFrequencyMHz, Min(LicenceData.distance) AS CoMO 
FROM [Freq List], LicenceData 
WHERE ((([LicenceData].class_stat) Like 'M*') And (([LicenceData].type_lc)="A") And (([LicenceData].frequency) Between FirstOfFrequencyMHz-0.0249 And FirstOfFrequencyMHz+0.0249)) 
GROUP BY FirstOfFrequencyMHz 

複合クエリーの試み:

SELECT DISTINCT FirstOfFrequencyMHz, 

(SELECT Min(distance) AS Expr1 
FROM [Freq List], LicenceData 
WHERE ((([LicenceData].class_stat) Like 'F*') And (([LicenceData].type_lc)="A") And (([LicenceData].frequency) Between FirstOfFrequencyMHz-0.0249 And FirstOfFrequencyMHz+0.0249))) as COFX, 

(SELECT Min(distance) AS Expr1 
FROM [Freq List], LicenceData 
WHERE ((([LicenceData].class_stat) Like 'M*') And (([LicenceData].type_lc)="A") And (([LicenceData].frequency) Between FirstOfFrequencyMHz-0.0249 And FirstOfFrequencyMHz+0.0249))) as COMO 

FROM [Freq List] 

私の投稿をすべて、正しい値を返さない複合クエリーの試みCoFXカラムとCoMOカラムのセル数は同じです。

2つのクエリは独立して動作します。それらを結合する方法(最初の2つのクエリと同様に組み合わせる必要がある合計4つのクエリがあります)を組み合わせる方法も知っておく必要があります。テーブルの間には直接のリンクが存在しないよう

+4

サンプル入力がサンプル出力とどのように関連しているかわかりません。 – MatBailie

+0

私はそれを数回読んで、頭が痛いです、どうやってCoChnl/AdjChnlを持ってきていますか、あなたの説明を簡素化できますか? –

+0

情報/簡略化を追加しました(願っています)。また、入力した入力は、そのテーブルの行のわずかなサンプルでした。出力は、各中心周波数の固定ライセンスクラスとモバイルライセンスクラスの両方について、アクティブライセンスとの中心周波数および最も近い距離に不可欠です。 – Bryan

答えて

0

これは、最善の方法かもしれ、あなたは彼らが正しく参照されることを保証するために、サブ選択を使用する必要があります。

SELECT DISTINCT F.FirstOfFrequencyMHz, 
(
SELECT Min(L.Distance) 
FROM LicenceData As L 
WHERE L.Class_Stat Like 'F*' 
AND L.Type_LC = 'A' 
AND L.Frequency Between F.FirstOfFrequencyMHz-0.0249 And F.FirstOfFrequency+0.0249 
) CoFX, 
(
SELECT Min(L2.Distance) 
FROM LicenceData As L2 
WHERE L2.Class_Stat Like 'M*' 
AND L2.Type_LC = 'A' 
AND L2.Frequency Between F.FirstOfFrequencyMHz-0.0249 And F.FirstOfFrequency+0.0249 
) CoMO 
FROM [Freq List] As F 

運のベスト:)

+0

うまく働いた、ありがとう。 – Bryan

+0

あなたの歓迎、私の頭の中でこれを取るために私はしばらくかかった:) –

+1

私はその影響にいくつかのフィードバックを得た。多くの人が私の質問を混乱させているように思えたことに、私はまだ驚いています。(私は疑問を解決した後、必然的に混乱しない限り、私は何を達成しようとしているのか、それを達成する方法を理解するのに苦労しましたか?私が尋ねる主な理由は、私がフレーズのものになりがちなので、コミュニケーションの問題を知っているということです。私はいつもより良くなるよう努力しています。 – Bryan

関連する問題