2017-04-19 21 views
0

以下のクエリを実行しました。私はC#のグリッドビューでこれを使用しています。このクエリではすべてが問題ありません。しかし、あなたが見るように、 "ocum"という名前のテーブルが特定の条件のためにデータを引っ張っています。2つの同じ構造化テーブルからmysqlクエリを取得

table "ocum" = has records before today . 
table "otrans" = has only today's records . 
  1. 両方テーブルの構造は同一です。
  2. "ocum"テーブルから今日のデータを完全に取得しています。
  3. 今、otransテーブルから今日のデータを取得したいと考えています。

今日の簡単な言葉は19-04-2017です。したがって、ocumテーブルには18-04-2017までのすべてのレコードが含まれ、otransテーブルには19-04-2017レコードのみが含まれます。一日の終わりには、otransレコードがocumテーブルに追加/追加されます。

単一のステートメントで両方のテーブルのデータをクエリする方法を教えてください。 ここに私の質問です。

SELECT 
`ocum`.`tdate`, 
`ocum`.`damt`, 
`ocum`.`camt`, 
`ocum`.`narr`, 
@Bal := @Bal + `ocum`.`camt` - `ocum`.`damt` AS `bal` 
FROM `ocum`, (SELECT @Bal := 0) AS variableInit where `ocum`.`glcode` = "A03208" and `ocum`.`acno` = 40 
ORDER BY `ocum`.`tdate` ASC 
+1

私が正しく理解していれば、あなたは 'UNION'を試すことができます。https://dev.mysql.com/doc/refman/5.7/en/union.html –

答えて

0

これは、ユニオンクエリを使用して解決できる問題のようです。前に結合クエリを使用していない場合。類似した結果セットを持つ2つの選択クエリを結合し、その結果を1つのセットに結合します。

Select table1.field1 from table 1 [where ...] 
union 
    Select table2.field1 from table 2 [where ...] 

詳細については、MySql and Unionのチュートリアルを参照してください。 My Sql Tutorial

+0

問題は解決していません私はこれを見てみました= @Bal + 'ocum':( ' ocum'.'tdate'、 'ocum'.'damt'、 ' ocum'.'camt'、 'ocum'.'narr'、 @Balを選択します。 'camt' - ' ocum'、(@Bal SELECT:= 0) '' FROM bal' AS ocum'.'damt')variableInit ASを 組合は( 'otrans'.'tdate'、 を' SELECT 'otrans'.camt'、 ' [email protected]:= @Bal + 'otrans'.camt' - ' otrans'.damt' AS 'bal' FROM' otrans'、(SELECT @Bal:= 0)AS variableInit ) ここで、glcode = "L04502"とacno = 641 –

+0

Hye Great !!それは私の問題を解決しました。 –

+0

あなたはそれを解決してくれることをうれしく思います。それは、自分の選択した各クエリが完了する必要があることは明らかです。あなたの最初の試みで私が見た唯一の誤りはどれだったのですか。 (最初の試行には、2番目のSelect文の 'where'句のみが含まれます)。私の答えがあなたの問題を解決したら、それを受け入れられた答えとしてマークすることができますか? – Charemer

関連する問題