Fråga : Få ett distinkt resultat från tre olikt bordlägger

Jag har tre bordlägger, som är konton, balanserar och kunden (behaga ser att bordlägga att strukturera i kodifiera delar upp nedanfört) och den pröva I-förmiddagen för att få distinkt information från den utan någon särskild kund som upprepar - är här de tre meddelandena som jag önskar att uppnå och meddelandena, jag har försökt att använda:

1.  Jag önskar att få alla kunder som har nett den 75% ingången: -

väljer ((b.total/limiteren) *100) som perc, b.total, fname, lname från kund c, balanserar b VAR c.status = 1 OCH b.cid = c.id och ((b.total/limiteren) *100) < -75

This får kunderna, men, om för anföra som exempel, markera har nett 75 på hans första transaktion och på his understöder räckvidder 85%, därefter som det ovannämnda meddelandet är printing markerar två tider, en med 75% och en med 85%, när alla jag önskar, är markerar för att listas en gång med den max procentsatsen - 85% i denna case.

2. Denna tid jag önskar att få kunder vars daterar rakt är inom 7 vald dateFrom för dag

, bistår, minuten, mout, bal, dateToen, fname, lname från konton a, kund c VAR c.status = 1, och dateTO MELLAN DATE_SUB (CURDATE (), MELLANRUM 0 DAG) OCH DATE_ADD (CURDATE (), DAG för MELLANRUM 4) och ID = det ovannämnda meddelandet för cid

The gör nästan vad jag önskar, however något liknande ifrågasätter precis 1 det repetitionkunder och deras information, när allt, som jag önskar att visa, är det känt, sist balanserar och rakt tack för date.

Many för din time.
> för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
" codeBody " " notpretty class= " för `redogör `( `bistår `int (11) INTE OGILTIGA AUTO_INCREMENT, 11) INTE OGILTIG `- cid`int (, OGILTIG STANDARD för int för `- mout`(11), för `- int för `OGILTIG minimum 11) STANDARD (, 11) INTE OGILTIG `- bal-`int (, `- dateFrom`daterar INTE OGILTIGT, `- dateTo`daterar OGILTIG STANDARD, PRIMÄRT NYCKEL- (`bistår `), ) `balanserar `( `- ID-`int (11) INTE OGILTIG AUTO_INCREMENT, 11) INTE OGILTIG `- cid`int (, sammanlagd 11) INTE OGILTIG `int för `(, PRIMÄRT STÄMMA (`- ID-`), UNIK NYCKEL- `bistår `(`- cid`) ) `- kund`( `- ID-`int (11) INTE OGILTIGA AUTO_INCREMENT, varchar (200) INTE OGILTIGT för `- fname`, varchar (200) INTE OGILTIGT för `- lname`, varchar (20) INTE OGILTIGT för `- telefon-`, `Tilltalar INTE OGILTIG `- text, 11) INTE OGILTIG `- Limiter`int (, 1) INTE OGILTIG tinyint för `- status`(, PRIMÄRT STÄMMA (`- ID-`) )
" klar "

Svar : Få ett distinkt resultat från tre olikt bordlägger

Spara är sekventiellt så, om inte fodrar är den FIXADE BREDDEN i längd, och du kan beräkna byteoffseten av XXX fodrar numrerar, då ditt endast alternativ är ATT RÄKNA linje för linje i sänder, eller, genom läsning i ”en stor bit” och att dela på vagnsretur/, fodra matning.  Antingen alternativstillbild kräver dig fysiskt att räkna fodrar, tills du ner uppsätta som mål.
Andra lösningar  
 
programming4us programming4us