-1

これらのクエリは両方とも、別々の場合に完全に実行されます。ただし、それを 1 つのクエリに結合しようとすると、問題が発生します。Oracle SQL Developerで実行するための適切な構文を持つコードを誰でも提案できますか?

最初のクエリ:

 select * from JnlDataSection, JnlList, JnlMedium, JnlMediumMove
 where 
 JnlDataSection.ItemID = JnlList.ItemID AND
 JnlList.ItemID = JnlMedium.ItemID AND
 JnlMedium.ItemID = JnlMediumMove.ItemID;

2 番目のクエリ (これは最初のクエリに組み込む必要があります):

 UserCode = 'Automation' AND     
 LEFT(Date,8)=CONVERT(VARCHAR(8),GETDATE()-1,112));

注: Oracle SQL Developer で Microsoft SQL Server データベースを使用しています。

4

2 に答える 2

1

あなたのコメントを正しく理解していれば、結合されている 4 つのテーブルすべてに と という名前の列が含まれていUserCodeますDate。したがって、パーサーは参照しているテーブルの列を認識できないため、エラーが発生していると思います。次のように修飾する必要があります。

select * from JnlDataSection, JnlList, JnlMedium, JnlMediumMove
 where 
 JnlDataSection.ItemID = JnlList.ItemID AND
 JnlList.ItemID = JnlMedium.ItemID AND
 JnlMedium.ItemID = JnlMediumMove.ItemID AND
 JnlDataSection.UserCode = 'Automation' AND     
 LEFT(JnlDataSection.Date,8)=CONVERT(VARCHAR(8),GETDATE()-1,112)

データベースの設計を知らなければ、これらの条件を 4 つのテーブルすべてに追加する必要があるのか​​、1 つだけに追加する必要があるのか​​、またはどちらが重要なのかわかりません。

于 2013-06-24T13:38:13.457 に答える