MySQL Forums
Forum List  »  Italian

Aiuto con query sql (UNION) per Mysql
Posted by: mario mandi
Date: November 10, 2010 04:49PM

Scusate, sto cercando di imparare PHP
io arrivo da ASP e access

ho bisogni di fare un query di unione, e usare i risultati per un altra query di unione

in ASP (access) avrei una cosa del genere: "SELECT DATA.data, copp.radon AS Coppito, fagn.radon AS Fagnano FROM ((SELECT copp.data as data FROM copp UNION SELECT fagn.data as data FROM fagn) AS DATA LEFT JOIN fagn ON DATA.data = fagn.data) LEFT JOIN copp ON DATA.data = copp.data"

ora sto cercando di tradurlo in php/mysql
ma qualcosa non funge nella sintassy mysql
qualcuno mi da un suggerimento, per favore ?

<?php

$query_fappito = "SELECT DATA.data, copp.radon AS Coppito, fagn.radon AS Fagnano FROM ((SELECT copp.data as data FROM copp UNION SELECT fagn.data as data FROM fagn) AS DATA LEFT JOIN fagn ON DATA.data = fagn.data) LEFT JOIN copp ON DATA.data = copp.data";

// Eseguo la query

$result_fappito = mysql_query($query_fappito, $db);

while ($row = mysql_fetch_array($result_fappito))
{
$data_ma = $row['data'];
$coppito_ma = $row['Coppito'];
$fagnano_ma = $row['Fagnano'];
echo "<br><br>";
echo $data_ma;
echo "<br><br>";
echo $coppito_ma;
echo "<br><br>";
echo $fagnano_ma;
echo "<br><br>";
echo "<br><br>";
echo "<br><br>";
}

?>

mi restituisce l' errore
Errore di sintassi nella query SQL vicino a ') AS DATA LEFT JOIN fagn ON DATA.data = fagn.data) LEFT JOIN copp ON DATA.data =' linea 1

In sostanza, ecco cosa devo fare, ditemi se procedo giusto o se mi conviene cambiare approccio:

io ho due tabelle

copp
fagn

ogni tabella ha due row

data
valore

io devo creare una tabella fatta così:

data valore.copp valore.fagn


dato che non tutte le date sono comune fra le due tabelle (alcune si, altre no) e devo ricavare tutti i valori (nullo se non lo trova), ho pensato di fare una query unione fra le due solo campo data 8così mi mette tutte le date UNICHE)
poi quelle date, le uso per querare le due tabelle, se trovo il valore lo metto, se no lascio vuoto

se ad esempio ho :

Copp
10/11/2010 1200
12/11/2010 1300
13/11/2010 1400

fagn
11/11/2010 1300
12/11/2010 1200
14/11/2010 1500

il risultato dovrebbe essere

data copp fagn
10/11/2010 1200 -
11/11/2010 - 1300
12/11/2010 1300 1200
13/11/2010 1400 -
14/11/2010 - 1500

Options: ReplyQuote


Subject
Views
Written By
Posted
Aiuto con query sql (UNION) per Mysql
4463
November 10, 2010 04:49PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.