Newsgroup: it.comp.www.php
Titolo: Select incasinatissima...

Per la serie "qual č il modo migliore per..."
... ho due tabelle:
tabella1: anagrafica con id
tabella2: nomi titolari con id riferito a tabella1
a un nominativo della tabella1 possono corrispondere piů titolari della
tabella2: vorrei ottenere un recordset del tipo:
|  nome |  via  |  ....  |  titolari  |
in cui il campo titolari contenga la lista dei... titolari separati da
virgola, tipo:
|  pincopalla spa  |  via cucu 7  |  ....  |  tizio, caio, sempronio |
Pensavo di riuscire a risolverla in una select sola, ma se č impossibile
dovrň ricorrere a un array arrangiato in qualche modo o a un'altra select...
Grazie in anticipo...

Se non ho capito male vorresti fare:
1) Una query incrociata
2) Un raggruppamento per dati comuni (società,indirizzo,etc etc)
3) Creazione di un SET (ciao,uff,pippo,..) per i dati non comuni
Ora, la cosa è semplificata dal fatto di avere due tabelle.
ovviamente i "calciatori" hanno lo stesso id_anagrafico dato che fanno parte
della stessa società.
Cioè, alla fine, il problema sta tutto nella difficoltà di volere, in una
riga sola,una colonna con i dati di un'altra colonna ma di tutte le righe.
Dalla versione 4.0.0 di Mysql per esempio è possibile usare il comando UNION
http://www.mysql.com/doc/U/N/UNION.html
Divertiti :))

 
http://www.mysql.com/doc/U/N/UNION.html
Ma la UNION JOIN che tu citi si limita esclusivamente ad accodare alle 
tuple risultato della prima query quelle di una seconda query (a patto 
che i risultati delle query siano compatibili in termini di colonne, 
numero e tipo).
Per quanto ne so, in SQL2 (ammesso che esista un vero standard), con una 
semplice query non si puo' ottenere cio' che Free Rider vuole.
Purtroppo la mia unica esperienza in mySQL e' stata... l'installazione, 
percui non conosco il suo dialetto SQL e quindi se sono presenti 
operatori particolari che possono fare al caso.
Ciao
MjdP

mi spiego meglio...
innanzitutto il db č mysql, e non posso decidere io la struttura del db, che
tra parentesi č stata studiata proprio da cani...
la faccenda si č complicata....
3 tabelle:
anagrafe:
CODIT
Nome
indirizzo
ecc...
-----------------------------------------------------------
titolari: (posso avere piů titolari per azienda)
CODIT (riferito a anagrafe)
Nome
-----------------------------------------------------------
Categoria: (anche questa uno a molti su anagrafe)
CODIT (riferito a anagrafe)
Categoria (piů categorie)
Importo (piů importi)
----------------------------------------------------------
devo fare una ricerca in modo che posso selezionbare ad es tutte quelle
aziende che hanno il tal Importo o il tal titolare...
per come l'ho fatta adesso la select mi ritorna dei nomi duplicati,
logicamente perche trova piu importi o categorie per lo stesso id.
Esempio:
SELECT DISTINCT Anagrafe.*, Categ.*, Titol.*
FROM Anagrafe, Categ, Titol
WHERE Categ.IMPORTO=1500 AND Categ.CATEG='G1' AND Anagrafe.CODIT=Categ.CODIT
AND Categ.CODIT=Titol.CODIT LIMIT 0,10
Sto impazzendo :)
Grazie ancora

...dimenticavo che potrei anche non specificare nella ricerca importo o
titolare, infatti è qui il casino delle righe duplicate... perchè non metto
nel WHERE dei valori di ricerca specifici
Ale

forse ho risolto con un join a tre e un group by :)
ma se avete idee postate pure :))
Grazie comunque