Questione : Ottenere un risultato distinto da tre tabelle differenti

Ho tre tabelle che sono clienti, equilibrio e cliente (vedere per favore la struttura della tabella nella sezione di codice qui sotto) e sto provando a ottenere le informazioni distinte da esso senza alcun cliente particolare che si ripete - qui sono le tre dichiarazioni che voglio realizzare e le dichiarazioni ho provato ad usare:

1.  Voglio ottenere tutti i clienti che hanno raggiunto la soglia di 75%: - il

seleziona ((b.total/limitatore) *100) poichè il perc, b.total, il fname, lname dal cliente la c, l'equilibrio la b IN CUI c.status = 1 E b.cid = c.id e ((b.total/limitatore) *100) < -75

This ottiene i clienti, ma se per esempio il contrassegno abbia raggiunto 75 sulla sua prima transazione e sulle sue seconde portate 85% allora la dichiarazione di cui sopra è contrassegno di stampa due volte, una con 75% ed uno con 85% quando tutti che voglia è contrassegno da elencare una volta con la percentuale massima -

2. di 85% in questo caso. Questa volta voglio ottenere i clienti di cui la scadenza è all'interno 7 del dateFrom prescelto del

di giorni, il sussidio, il minuto, il mout, il bal, il dateTo, il fname, lname dai clienti la a, il cliente c DOVE c.status = 1 e dateTO FRA DATE_SUB (CURDATE (), INTERVALLO 0 GIORNI) E DATE_ADD (CURDATE (), GIORNO di INTERVALLO 4) ed identificazione = dichiarazione del cid

The di cui sopra fa quasi che cosa voglio, comunque appena come la domanda 1 ripete i clienti e le loro informazioni quando tutto che voglia visualizzare è il nome, l'ultimo equilibrio ed i ringraziamenti dovuti di date.

Many per il vostro time.
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
il class= " del id= " codeSnippet809552 del
 `spiega `(
  `int (AUTO_INCREMENT 11) NULLO del sussidio del `,
  `int del cid del `(11) NULLO,
  POSIZIONE DI SEGNALE MINIMO di DIFETTO di int del `del mout del `(11),
  POSIZIONE DI SEGNALE MINIMO di DIFETTO minima di int del `del `11) (,
  `int di bal del `(11) NULLO,
  data del `del dateFrom del `NON NULLA,
  POSIZIONE DI SEGNALE MINIMO di DIFETTO della data del `di dateTo del `,
  CHIAVE PRIMARIA (`del sussidio del `)
)

`dell'equilibrio del `(
  `int (AUTO_INCREMENT 11) NULLO di identificazione del `,
  `int del cid del `(11) NULLO,
  `totale int del `(11) NULLO,
  CHIAVE PRIMARIA (`di identificazione del `),
  `CHIAVE UNICO del sussidio del `(`del cid del `)
)

`del cliente del `(
  `int (AUTO_INCREMENT 11) NULLO di identificazione del `,
  POSIZIONE DI SEGNALE MINIMO varchar del `del fname del `(200) NON,
  POSIZIONE DI SEGNALE MINIMO varchar del `del lname del `(200) NON,
  POSIZIONE DI SEGNALE MINIMO varchar del `del telefono del `(20) NON,
  Testo del `di indirizzo del `NON NULLO,
  `Int del limitatore del `(11) NULLO,
  tinyint del `di condizione del `(1) NON POSIZIONE DI SEGNALE MINIMO,
  CHIAVE PRIMARIA (`di identificazione del `)
)
class= del

Risposta : Ottenere un risultato distinto da tre tabelle differenti

La lima è sequenziale così a meno che le linee siano LARGHEZZA FISSA di lunghezza e potete calcolare il contrappeso di byte XXX della linea numero, quindi la vostra soltanto opzione è DI CONTARE quello linea per linea alla volta o leggendo “nei bei pezzi„ e spaccando sul ritorno del carrello/avanzamento riga.  La una o la altra opzione ancora gli richiede di contare fisicamente le linee fino a che non raggiungiate l'obiettivo.
Altre soluzioni  
 
programming4us programming4us