Outer join che non funge

boberto

Nuovo Utente
29 Giu 2016
2
0
1
Ciao a tutti, non riesco proprio a fare una join banale, di cui mi serve solo il numero con mysql_num_rows.

Ho due tabelle:
utenti | ricevute

Con questi e altri campi
codice | cod_ut
nome | quota
| data

Vorrei avere i numeri secchi di quanti utenti hanno pagato la quota e faccio così, ottenendo un numero verosimile:

SELECT ricevute.*, utenti.*
FROM ricevute
INNER JOIN utenti ON ricevute.cod_ut = utenti.codice
WHERE ricevute.quota != ' ' AND YEAR(primanot.data) = '$anno'";



E vorrei avere il numero secco di quanti non hanno pagato la quota e dunque di quanti sui 7000 non hanno ricevute con valorizzato il campo quota.
Sto impazzendo ma proprio non ci riesco.

Ho provato così:

SELECT *
FROM utenti
LEFT JOIN ricevute
ON utenti.codice = ricevute.cod_ut

Ebbene quando conto con mysql_num_rows, mi viene restituito un numero molto più grande degli utenti presenti (circa 7000) e quindi più simile al numero di ricevute presenti in ricevute.

Grazie a tutti per l'aiuto.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
da dove salta fuori la primanot? è un altra tabella?
da quello che scrivi il campo data è della tabella ricevute
poi ricevute.quota != ' ' c'è uno spazio tra gli apici?
se non è valorizzato dovrebbe essere vuoto
ricevute.quota != ''
intanto questo
 

boberto

Nuovo Utente
29 Giu 2016
2
0
1
Perdonami, primanot sarebbe ricevute.

Ad ogni modo, penso di aver risolto così:

  1. Facendo prove, il numero più verosimile (oltre 6000) lo ottengo così, ma non so se sia effettivamente e logicamente corretto:

    SELECT * FROM utenti WHERE codice NOT IN (SELECT cod_ut FROM ricevute WHERE quota != ' ' AND YEAR(ricevute.data) = '$anno');

  2. Penso sia corretto, perché quando tolgo il NOT, ottengo altro numero che sommato al precedente è il numero degli utenti totali.
Sì, avevo messo sspazio solo perché temevo che non si vedessero

Grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
LaKanka problema outer join MySQL 8
L Soluzione con INNER JOIN Database 0
K Problema Inner join PHP 1
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
M LEFT JOIN di diverse condizioni PHP 10
R Join articolato su 3 tabelle MySQL 5
M Join 3 tabelle PHP 0
L select join e sottrazione punti PHP 13
M Problema su query JOIN in tre tabelle PHP 0
MarcoGrazia Dati nulli su join tra più tabelle MySQL 1
M Ordinare una query join PHP 2
M Estrarre valori MAX da un db con una left join MySQL 8
P Query Mysql con Join PHP 2
S [PHP] Inner join su 4 tabelle PHP 6
M [PHP] Aiuto su inner join PHP 10
F [MySQL] Problema con LEFT JOIN MySQL 6
P [MySQL] Inner Join o Left Join MySQL 14
simgia [PHP] Ciclare una query JOIN PHP 2
simgia [MySQL] INNER JOIN problema MySQL 0
R [PHP] Estrapolare dati da una query left join PHP 0
C Php/Mysql query JOIN tra tabelle PHP 4
C Php/Mysql query JOIN tra due tabelle PHP 18
R [MySQL] SQL UPDATE INNER JOIN MySQL 5
G [MS Access] JOIN di due tabelle più GROUP BY MS Access 1
G [MySQL] Join o select MySQL 1
R [MySQL] Join, Count e Order (ASC & DESC)... MySQL 6
jdj78 inner join Classic ASP 18
V [Guida]: ho dubbi sulle Join MySQL 13
P Query con Somma di un Campo , aggregazione e join Database 3
V Quando mettere il JOIN e quando no? MySQL 1
L cinque tabelle e join PHP 2
P Join tabelle MySQL 4
Marco_88 Select distinct e join MySQL 2
Marco_88 Eliminare una colonna da una LEFT JOIN MySQL 4
M Query Join per 2 colonne MySQL 1
D Problema sintassi INNER JOIN a 3 tabelle PHP 4
L inner join MySQL 0
andrea.peo Problema query con join visualizzazione record ripetuti PHP 5
I Aiuto INNER JOIN MySQL 5
D Il JOIN che non imparerò mai ad usare MySQL 2
V Problema JOIN SQL PHP 3
A Ottimizzare di più JOIN su tabella/e da 25.000 records MySQL 0
L inner join su due tabelle PHP 5
S Mistero Join MySQL 0
G unire union e join insieme MySQL 7
ivarello JOIN Mysql PHP 2
A Count Inner Join e stampa record con id non duplicati PHP 1
P utilizzare INN JOIN PHP 8
N JOIN o non JOIN MySQL 2

Discussioni simili