Problema SQL JOIN e stampa dati

Emix

Utente Attivo
15 Feb 2010
596
0
16
Salve a tutti... Vi illustro il problema...

Io ho un DB contenente X tabelle e nel caso specifico me ne servono solamente tre.

Il database si chiama Anagrafiche.

Le tabelle si chiamano As Articoli; As Sedi; Clienti;

Cominciamo col dire che dovrei gestire in PHP il database ACCESS.

Il campo in comune a tutti è : Cliente (tabella clienti) - Cod cliente (tabella as sedi e as articoli)

Io devo estrapolare dalla tabella clienti i campi: Ragione sociale e Telefono;
dalla tabella As Articoli: matricola,data visita programmata,descrizione;
e dalla tabella As Sedi: ubicazione esercizio;

Il campo di ricerca è un intervallo di date, nel caso specifico devo confrontare tra la data odierna e una data inserita da me;
Esempio: Data di oggi 19/09/2012 nell'intervallo tra la data (inserita da me) 01/01/2011.

La query che avevo pensato è composta cosi:

SELECT ragione sociale,telefono,ubicazione esercizio,matricola,descrizione,data visita

FROM Clienti,As Articoli,As Sedi

WHERE cliente.codice = as articoli.cod cliente

AND as articoli.cod cliente = as sedi.cod cliente

AND as articoli.data revisione < "20121909" && > "%data inserita%";

Pensate che possa funzionare? Sbaglio qualcosa?

Grazie, Emiliano.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
non uppare a così breve distanza.
comunque mi sembra che ci sia qualcosa che non va. guardo meglio e poi ti so dire (salvo intervenga qualcun altro prima)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ciao,
a me non convince questa
Codice:
FROM Clienti,As Articoli,As Sedi
non dovrebbe essere cosi?
Codice:
FROM Clienti as C, Articoli as A, Sedi as S

e poi non credo si possano usare spazi nei nomi dei campi
Codice:
SELECT ragione sociale

cmq io preferisco l'altra sintassi per le JOIN

Codice:
SELECT *
FROM tabella1 T1
JOIN tabella2 T2 ON T1.id = T2.id
JOIN tabella3 T3 ON T3.id = T2.id
WHERE T1.campo = "valore" && T3.campo = "valore"

mi sembra più ordinata ma è un mio parere
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
ciao,
a me non convince questa
Codice:
FROM Clienti,As Articoli,As Sedi
non dovrebbe essere cosi?
Codice:
FROM Clienti as C, Articoli as A, Sedi as S

e poi non credo si possano usare spazi nei nomi dei campi
Codice:
SELECT ragione sociale

cmq io preferisco l'altra sintassi per le JOIN

Codice:
SELECT *
FROM tabella1 T1
JOIN tabella2 T2 ON T1.id = T2.id
JOIN tabella3 T3 ON T3.id = T2.id
WHERE T1.campo = "valore" && T3.campo = "valore"

mi sembra più ordinata ma è un mio parere

Eh anche io userei la sintassi da te citata... però io i valori nel DB li ho separati... è un db di un cliente non posso stravolgerlo...
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
da quel che so io se ci sono spazi nei campi si usano le parentesi quadre del tipo [Ragione sociale].. Vi risulta??
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
Scusa Criric ma seguendo il tuo esempio di join mi perdo...

nel senso.. facendone uno con i dati che ho...

Codice:
SELECT *
FROM Clienti T1
JOIN As Articoli T2 ON T1.clienti = T2.codice clienti
JOIN As Sedi T3 ON T3.codice clienti = T2.codice clienti

Qui a questo punto io dovrei fare in modo che T2.data revisione è < "%valore inserito prima%" && > "%valore inserito prima%"
come codifico tutto ciò?

Fatta la query io dovrei stampare a video tabulato i campi che mi servono... Avevo

PHP:
echo($recordset->Fields['Ragione Sociale']->value."".$recordset->Fields['Telefono']->value."".$recordset->Fields['Descrizione']->value".$recordset->Fields['Matricola']->value."".$recordset->Fields['Data visita programmata']->value."".$recordset->Fields['Ubicazione sede riga 3']->value."
");
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Intanto non si capisce quali lettere MAIUSCOLE o MINUSCOLE sono corrette, il campo 'Codice' (per esempio) è diverso da 'codice'.
Prova con:
Codice:
SELECT ragione sociale,telefono,ubicazione esercizio,matricola,descrizione,data visita

FROM (Clienti INNER JOIN As Articoli ON Clienti.cliente = As Articoli.Cod cliente) INNER JOIN As Sedi ON Clienti.cliente = Ad Sedi.Cod cliente

WHERE  As articoli.data revisione BETWEEN #20/12/1909# AND "%data inserita%";

Ovviamente modifica con le maiuscole e minuscole dei nomi dei campi e delle tabelle del db.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
da quel che so io se ci sono spazi nei campi si usano le parentesi quadre del tipo [Ragione sociale].. Vi risulta??
a me non risulta

la join piu o meno cosi nota che non avevo messo as davanti alle tabelle
Codice:
SELECT *
FROM Clienti C
JOIN Articoli A ON C.clienti = A.codiceClienti
JOIN Sedi S ON S.codiceClienti = C.clienti  
WHERE A.dataRevisione BETWEEN 'datainserita' AND CURDATE()
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
Salve,
ho effettuato delle prove ma non mi viene stampato nulla.. aiutatemi a capire pls.. vi scrivo intera pagina php

PHP:
<?
$percorso_database = realpath("C:\Users\Tecnici\Desktop\PROVA ZEUS\Anagrafiche.mdb");
$connessione = new COM("ADODB.Connection");
$stringa_di_connessione = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=".$percorso_database;
$connessione->Open($stringa_di_connessione);
$interrogazione = 
"SELECT Codice, Ragione Sociale, Telefono Ufficio, Ubicazione sede riga 3, Matricola, Descrizione, Data visita programmata, Codice Cliente

FROM (Clienti INNER JOIN As Articoli ON Clienti.Codice = As Articoli.Codice Cliente) INNER JOIN As Sedi ON Clienti.Codice = Ad Sedi.Codice cliente

WHERE Cliente.Codice = As Articoli.Codice Cliente

AND As Articoli.Codice Cliente = As Sedi.Codice cliente

AND As Articoli.Data visita programmata < "%datainizio%" && > "%datafine%";"

$recordset = new COM("ADODB.Recordset");
$recordset->Open($interrogazione,$connessione);
/* Ciclo per recuperare i valori dal recordset
EOF= tutto il set di dati è stato esaminato 
e il cursore è giunto in fondo */
while(!$recordset->EOF){
echo($recordset->Fields['Ragione Sociale']->value."".$recordset->Fields['Telefono']->value."".$recordset->Fields['Descrizione']->value".$recordset->Fields['Matricola']->value."".$recordset->Fields['Data visita programmata']->value."".$recordset->Fields['Ubicazione sede riga 3']->value."
");"

$recordset->MoveNext() ;
}

/* Chiusura Recordset (da non farsi nelle query di comando) */
$recordset->Close() ;

/****
Chiudo la connessione
e libero la memoria
****/
$connessione->Close() ;
$connessione->Release() ;
$connessione= null ;
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
mannaggia è acces, quindi non lo conosco, l'unica cosa che posso dirti è di controllare gli apici alla riga
PHP:
<?php
echo($recordset->Fields['Ragione Sociale']->value."".$recordset->Fields['Telefono']->value."".$recordset->Fields['Descrizione']->value."".$recordset->Fields['Matricola']->value."".$recordset->Fields['Data visita programmata']->value."".$recordset->Fields['Ubicazione sede riga 3']->value."
");
?>
se quardi quello che hai postato vedi delle parti rosse che non dovrebbero essere rosse
 
Discussioni simili
Autore Titolo Forum Risposte Data
V Problema JOIN SQL PHP 3
K [ASP.Net] Problema stampa e modifica ms sql ASP.NET 0
M Problema con LIKE Sql PHP 8
F PHP problema doppi apici all'interno di una query SQL PHP 1
1 Alto problema con sql MS Access 0
X Problema di sostituzione tramite query sql MySQL 5
radioButton Problema inserimento stringa con apostrofo in database sql Database 21
T problema connessione a sql server 2005 PHP 4
X problema sql tra due tabelle Database 1
I Problema con PHP + SQL ! PHP 13
M Domanda su problema SQL DDL: ricorsivo? Database 0
B problema esportazione file sql Database 0
B problema update sql PHP 1
A Problema con Query SQL Classic ASP 3
G problema apici in query sql PHP 11
8 problema con sql developer 1.2 Oracle 0
T Aiutatemi, Problema Con Sql Database 0
F Problema connessione sql PHP 4
R Problema con SSIS (SQL Server Integration Services) Database 0
C Problema con sql server 2005 Database 0
W [SQL Server] Creare una pubblicazione [GROSSO PROBLEMA, !!! AIUTO !!!] Database 0
F Problema con connessione a SQL Server Classic ASP 1
H [SQL] Problema complesso Database 1
metalgemini Problema con sql... Database 2
metalgemini Problema con asp e sql... Classic ASP 21
C problema seo + cerco esperto SEO e Posizionamento 1
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1
M Problema Wi-Fi Linux Linux e Software 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
Daniele_Carrara Problema Aperture Mailup Email Marketing 5

Discussioni simili