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.046
150
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.046
150
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
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
E problema selezione sfumata Photoshop 2
K [PHP] Problema con variabili concatenate. PHP 1
A Problema filtro fluidifica Photoshop Photoshop 1
H Problema Bordi Scontorno Photoshop 1
O problema con query PHP 4
R Problema installazione Realtek WiFi USB rtl8821 Reti LAN e Wireless 0
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
Y Problema percorso file in rete PHP 1
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
P Problema acquisizione clienti Webdesign e Grafica 1

Discussioni simili