PDA

View Full Version : URGENTISSIMO!!! due tabelle in unione tra loro, e due query


race2
05-02-2002, 12:00
Ho due tabelle, ordini e produzione, in "ordini" sono contenuti i seguenti dati:

| id | prodotto | n_pezzi | data_ordine | data_consegna |

come noterete si tratta di un archiviazione di un ordine,
nella tabella "produzione" sono contenuti:

| id | data_oggi | produzione_oggi | id_ordine |

questa tabella mi serve per archiviare la produzione svolta dai dipendenti ogni giorno.

l'interrogazione avviene cosi':
se volessi sapere la produzione totale di oggi, io farei una query di questo tipo:

$sql = "select * from produzione where data_oggi between 20020205 and 20020205";
$query = mysql_query($sql, $link)
while($ris = mysql_fetch_array($query))
{
$produzione_oggi = $ris["produzione_oggi"];

$produz_tot = $produzione_oggi+$produz_tot;
}

echo$produz_tot;

ed ecco che mi risulta la quantita' totale prodotta oggi, ma se io volessi sapere pure di quale merce si tratta o la data di arrivo e quella di consegna???
Io farei cosi:

$sql = "select * from produzione where data_oggi between 20020205 and 20020205";
$query = mysql_query($sql, $link)
while($ris = mysql_fetch_array($query))
{
$produzione_oggi = $ris["produzione_oggi"];
$id_ordine = $ris["id_ordine"];

$sql = "select * from ordini where id = '$id_ordine' 20020205";
$query = mysql_query($sql, $link)

$produz_tot = $produzione_oggi+$produz_tot;
}

echo"$prodotto ---> $n_pezzi ---> $data_ordine ---> $data_consegna";

cosi facendo funziona ma mi si blocca al primo passaggio di "while", non mi visualizza tutti i righi della tabella.

come dovrei fare per estrarre tutti i righi contanuti in "produzione" insieme agli altri dati contenuti in "ordini" ???

cionci
05-02-2002, 12:14
Guarda che SQL queste cose le fa già...

Select Sum(produzione_oggi) As Totale from produzione where data_oggi = 20020205

$ris["Totale"] ti rende la produzione totale...

Per la seconda query...ora non ho tempo ci penso oggi (comuqnue credo che sia un problema legato al fatto che usai la stessa variabile $query per entrambe le query)...

lufo
05-02-2002, 14:49
Originariamente inviato da race2
[B]

ed ecco che mi risulta la quantita' totale prodotta oggi, ma se io volessi sapere pure di quale merce si tratta o la data di arrivo e quella di consegna???
Io farei cosi:

$sql = "select * from produzione where data_oggi between 20020205 and 20020205";
$query = mysql_query($sql, $link)
while($ris = mysql_fetch_array($query))
{
$produzione_oggi = $ris["produzione_oggi"];
$id_ordine = $ris["id_ordine"];

$sql = "select * from ordini where id = '$id_ordine' 20020205";
$query = mysql_query($sql, $link)

$produz_tot = $produzione_oggi+$produz_tot;
}

echo"$prodotto ---> $n_pezzi ---> $data_ordine ---> $data_consegna";

cosi facendo funziona ma mi si blocca al primo passaggio di "while", non mi visualizza tutti i righi della tabella.

come dovrei fare per estrarre tutti i righi contanuti in "produzione" insieme agli altri dati contenuti in "ordini" ???

$sql = "SELECT Produzione.Id, Produzione.Data_oggi, Produzione.Produzione_Oggi, Produzione.Id_Ordine, Ordini.Id, Ordini.Prodotto, Ordini.N_pezzi, Ordini.Data_Ordine, Ordini.Data_Consega FROM produzione INNER JOIN Ordini ON Produzione.Id_Ordine = Ordini.Id WHERE Produzione.Data_Oggi BETWEEN 20020205 AND 20020205";

race2
05-02-2002, 16:13
Vado a provare, per ora grazie mille, ciao.