2016-08-05 9 views
0

私は連絡先(T.ContactId)検索を既存のクエリに追加しようとしています。このクエリでは、クライアントIDを使用してクライアントテーブルからクライアントを取得します。ここで、T.ContactIdを追加して、clientsテーブルから別の名前を取得したいとします。このスクリプトでは、私はすでに選択に「T.ContactId」追加しているが、私はいけないの下には、第2のクライアントを取得するために参加するあなたは、明示的に参加するためにあなたの暗黙のジョイン変更する必要がありますMYSQL - 複数のテーブルクエリで1つの列から2回選択

  select T.Id Tid,Transdate,Quantity Unit,Amount Rate,Discount,T.Comment Comment,T.CmntToInvoice ConInv,T.JobNum JobNum,T.PayNum PayNum,T.ContactId,clients.Id `Id`,`Client`,Cell,Email,Yard,Horse,TransType `Transaction`,PayTypeId,Credit 
     from 
      transactions T,clients,yards,horses,transtypes 
     where 
      Pending = 'N' and 
      T.TransTypeId = transtypes.Id and 
      T.ClientId = clients.Id and 
      T.HorseId = horses.Id and 
      T.YardId = yards.Id and 
      Transdate between '2014-09-08' and '2016-07-08' and 
      T.JobNum = 0 
     order by 
      clients.Id,Transdate asc 
+0

T.ContactIdが選択されたクエリにあります。スクリプトを実行するだけです。T.ContactIdを使用したい場合は、 –

+0

というコードでPayNumがどのように使用されているかを確認してください。しかし、それは...それができるならばあなたはどのように表示されますか? – Dave

答えて

1

そこから継続する方法を知っていると追加しますt.contactid のIDなどがこの

select T.Id Tid,Transdate,Quantity Unit,Amount Rate,Discount,T.Comment Comment,T.CmntToInvoice ConInv,T.JobNum JobNum,T.PayNum PayNum, 
      T.ContactId,c1.id as 'ccid',c1.client as 'ContactCLient', 
      clients.Id `Id`,`Client`,Cell,Email,Yard,Horse,TransType `Transaction`,PayTypeId,Credit 
from transactions T 
join   clients on T.ClientId = clients.Id 
join  yards on T.YardId = yards.Id 
join   horse on T.HorseId = horses.Id 
join   transtypes on T.TransTypeId = transtypes.Id 
left outer join clients c1 on c1.id = t.contactid 
where  Pending = 'N' and 
      Transdate between '2014-09-08' and '2016-07-08' and 
      T.JobNum = 0 
order by clients.Id,Transdate asc 

を試してみて、私はこれをテストしていませんが、あなたは、サンプルデータを公開することができた場合、その結果は、その後、私は再訪して幸せになると予想。

+0

それは私が欲しかったものを得るためにいくつかの微調整の後にうまくいっています:) – Dave

関連する問題