help query sql

  • Creatore Discussione Creatore Discussione meL
  • Data di inizio Data di inizio

meL

Nuovo Utente
10 Nov 2009
2
0
0
Ciao a tutti.
Dovrei effettuare un'estrazione su una tabella sql, premetto che non ne so molto sull’argomento :hammer:,
però penso che questa query sia abbastanza semplice per chi ne fa tutti i giorni… :book:

riassumo velocemente cosa voglio ottenere.
Ho questa tabella popolata nel seguente modo:

colonna1 - colonna2
CODICE - PROTOCOLLO
P1 - PB
P1 - PB
P1 - KK
P2 - PB
P3 - ZZ
P3 - PB
P4 - AA
P4 - PB
P4 - PB
P5 - PB
P5 - PB
P5 - XX
P6 - GG
P7 - FF
P7 - QQ

Devo estrarre solo i codici che hanno più protocolli diversi e una condizione dell'estrazione è che il codice abbia sempre il protocollo PB, quindi dall’esempio il risultato della query sarà: P1, P3, P4, P5

Spero di essere stato chiaro!! :)
Grazie!!!!
 
Ultima modifica:
La prima richiesta non l'ho capita, ma per estrarre tutti i codici con protocollo PB puoi usare questa query:


devo estrarre solo i codici che nella tabella hanno il protocollo PB e (AND) un altro qualsiasi protocollo, quindi i codici che compaiono una sola volta (o più volte) con il protocollo PB oppure una sola volta (o più volte) con un altro protocollo non devo estrarli, devo estrarre solo quelli che hanno in tabella un protocollo PB e un altro qualsiasi protocollo.... :dipser:
 
Ultima modifica:
ciao
alessandro non ha tutti i torti, la tua richiesta è un po’ fumosa
comunque se vuoi ottenere quello che hai scritto nel primo post
cioè una lista di codici che abbiano il procollo PB potresto eseguire

SELECT codice FROM tabella WHERE protocollo=’PB’ GROUP BY codice ORDER BY codice

in questo modo ottieni una lista di codici che hanno il protocollo PB (P1, P3, P4, P5)

se poi vuoi sapere anche (per es.) se il codice P1 ha altri protocolli oltre a PB potresi fare un’altra query.
se usi php per lo script (brutalmente) potresti risolvere in questa modo

PHP:
<?php
//parametri di connessione
$query1=mysql_query("SELECT codice FROM tabella WHERE protocollo=’PB’ GROUP BY codice ORDER BY codice");
//qui potresti mettere la verifica se esistono o no codici con protocollo PB
while($riga1=mysql_fetch_array($query1)){//estrai il codice
	$codice=$riga1['codice'];//estrai il codice con protocollo PB una sola volta
	echo "il codice $codice ha i segenti protocolli<br>";
	$query2=mysql_query("SELECT protocollo FROM tabella WHERE codice=’".$codice."’ GROUP BY protocollo ORDER BY protocollo");
	while($riga2=mysql_fetch_array($query2)){
		$protocollo=$riga2['protocollo'];//estrai i vari protocolli per i codici che hanno almenno un protocollo PB
		echo $protocollo." ";//stampi i protocolli
	}//fine while query2
	echo "<br>";
}//fine while query1
?>

prova così al massimo non funzia
 

Discussioni simili