2016-08-05 10 views
0

Ich versuche, eine Kontaktperson (T.ContactId) Lookup zu einer vorhandenen Abfrage hinzuzufügen. Die Abfrage verwendet eine Client-ID, um den Client aus der Client-Tabelle abzurufen. Ich möchte jetzt T.ContactId hinzufügen, um einen anderen Namen aus der Client-Tabelle zu erhalten. Im Skript haben unten ich bereits hinzugefügt ‚T.ContactId‘ zum wählen, aber ich weiß nicht, wie es weiter vonMYSQL - Wählen Sie zweimal aus einer Spalte in Multi-Tabellen-Abfrage

  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

so T.ContactId gibt es in Select-Abfrage, jetzt nur Skript ausführen und wenn Sie die T.ContactId sehen möchten, wie PayNum in Ihrem Code –

+0

sry verwendet wird, aber das nicht hilft, weil es Kontakt und Client in dieser Abfrage nicht fint wie es ist ... wenn es möglich ist, zeigst du wie? – Dave

Antwort

1

sollten Sie Ihre implizite ändern Joins explizit schließt sich und fügen Sie einen zweiten registrieren um den Klienten zu erhalten id etc für t.contactid Versuchen Sie, diese

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 

ich nicht getestet haben, aber wenn Sie Beispieldaten veröffentlichen und die erwarteten Ergebnisse dann würde ich mich freuen, zu überdenken.

+0

Es funktioniert gut, danke nach ein paar Verbesserungen, um zu bekommen, was ich wollte :) – Dave

Verwandte Themen