2011-05-12 21 views
0

PHPのPDO経由でmssqlテーブルから行を読み込みます。PDO経由でデータを読み込む - 同じ行が2回返される

いくつかの行は、これは、特定の行に何が起こるまったく同じID

  • で、二回まったく同じ行を持っています。インポートスクリプトを実行するたびに、同じ行で問題が発生します。たとえば、16,000行を正しく配置した後、毎回同じ行が2回表示されます。
  • 重複は行内で発生します。その行が呼び出され、次のfetch()要求が同じ行を返します。
  • 私は実行すると:? は、ID =「問題ID」 のみ1行が、ここに行くことができるか(地獄)ではない2

任意のアイデアを返されMY_TABLEから選択*私はあなたがあなたのopportunityテーブルにあなたのcontactテーブルに参加する必要があると思う

select o.accountid, c.contactid, o.opportunityid, o.createdate, o.modifydate, o.createuser, o.modifyuser, o.description, o.projclosedate, o.notes, o.accountmanagerid 
from sysdba.opportunity o 
left join sysdba.opportunity_contact oc on o.opportunityid = oc.opportunityid and oc.salesrole = 'speaker' "; 
left join sysdba.contact c on c.contactid = oc.contactid 
where o.status <> 'Inactive' 
order by o.opportunityid asc; 
+1

おそらく、いくつかの行の乗算があります。実行した正確なクエリを投稿します。 – zerkms

+0

あなたは間違ったジョインをどこかに持っています - 行を取得するために使用されるクエリを投稿してください。 –

+0

これは(上)です – shealtiel

答えて

1

: 実行されているクエリ:

は非常に多くの人たちに

編集ありがとうございました。あなたが設定した方法と同じように、それらのテーブル間に1対1のマッピングがないようです。以下を参照してください:

--This should reference the "o" table but it doesn't. 
left join sysdba.contact c on c.contactid = oc.contactid 

付属していない場合、あなたは本当に(あなたの「から」テーブルとしてそれを置く)の代わりにopportunity_contactテーブルの周りに加入する必要があります。

+0

これは私がやっていることです。それとも注文を意味するのですか? – shealtiel

+0

あなたの質問を編集して、それらのテーブルがどのように見えているか、結果がどのように見えるかをよりよく描くことができれば、私はおそらくもっと役立つでしょう –

関連する問題