Frage : Ein eindeutiges Resultat von drei verschiedenen Tabellen erhalten

Ich habe drei Tabellen, die Konten sind, Balance und Kunde (die Tabellenstruktur im Codeabschnitt bitte unten sehen) und ich versuche, eindeutige Informationen von ihr ohne irgendeinen bestimmten wiederholenden Kunden zu erhalten - bin hier die drei Aussagen, die ich erzielen möchte und die Aussagen, ich versucht zu verwenden:

1.  Ich möchte alle Kunden erhalten, die die 75% Schwelle erreicht: -

vorwählen ((b.total/Begrenzer) *100) da perc, b.total, fname, lname von Kunden c, Balance b, IN DER c.status = 1 UND b.cid = c.id und ((b.total/Begrenzer) *100) < -75

This die Kunden erhält, aber, wenn zum Beispiel Markierung 75 auf seiner ersten Verhandlung und auf seinen zweiten Reichweiten 85% dann erreicht, die oben genannte Aussage Drucken Markierung zweimal ist, eins mit 75% und einem mit 85%, wenn alle, die ich wünsche, mit ist dem maximalen Prozentsatz die einmal in diesem Fall verzeichnet zu werden Markierung, - 85%. das

2. Dieses Mal möchte ich Kunden erhalten, deren Abgabefrist innerhalb 7 Tag

des auserwählten dateFrom, Hilfsmittel, Minute, mout, bal, dateTo, fname, lname von Konten a, Kunde c ist, WO c.status = 1 und dateTO ZWISCHEN DATE_SUB (CURDATE (), ABSTAND 0 TAG) UND DATE_ADD (CURDATE (), TAG DES ABSTAND-4) und Identifikation = die oben genannte cid

The Aussage fast tut, was ich wünsche, gleichwohl gerade wie Frage 1 sie Kunden und ihre Informationen wenn wiederholt, ist aller, den ich anzeigen möchte, der Name, die letzte Balance und der passende date.

Many Dank für Ihr time.
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:
" das notpretty "
 `erklärt `(
  `Hilfsmittel `int (11) NICHT UNGÜLTIGES AUTO_INCREMENT,
  `cid `int (11) NICHT UNGÜLTIG,
  RÜCKSTELLUNGS-NULL `mout `int-(11),
  `minimale `int-(11) RÜCKSTELLUNGS-NULL,
  `bal `int (11) NICHT UNGÜLTIG,
  `dateFrom `Datum NICHT UNGÜLTIG,
  `dateTo `Datum RÜCKSTELLUNGS-NULL,
  PRIMÄRSCHLÜSSEL (`Hilfsmittel `)
)

`Balance `(
  `Identifikation `int (11) NICHT UNGÜLTIGE AUTO_INCREMENT,
  `cid `int (11) NICHT UNGÜLTIG,
  `Gesamt`int (11) NICHT UNGÜLTIG,
  PRIMÄRSCHLÜSSEL (`Identifikation `),
  EINZIGARTIGES SCHLÜSSEL`Hilfsmittel `(`cid `)
)

`Kunde `(
  `Identifikation `int (11) NICHT UNGÜLTIGE AUTO_INCREMENT,
  `fname `varchar (200) NICHT NULL,
  `lname `varchar (200) NICHT NULL,
  `Telefon `varchar (20) NICHT NULL,
  `Adresse `Text NICHT UNGÜLTIG,
  `Begrenzer `int (11) NICHT UNGÜLTIG,
  `Status `tinyint (1) NICHT NULL,
  PRIMÄRSCHLÜSSEL (`Identifikation `)
)

Antwort : Ein eindeutiges Resultat von drei verschiedenen Tabellen erhalten

Akte sind so aufeinander folgend, es sei denn die Linien ÖRTLICH FESTGELEGTE BREITE in der Länge sind und Sie den Byteversatz XXX der Linie Zahl berechnen können, dann ist Ihre nur Wahl, Reihe für Reihe einzeln oder indem sie ZU ZÄHLEN „in den Klumpen“ liest und auf Wagenrücklauf/Zeilenvorschub aufspaltet.  Jede Wahl erfordert Sie noch, die Linien physikalisch zu zählen, bis Sie das Ziel erreichen.
Weitere Lösungen  
 
programming4us programming4us