@karnak said:
Non basta fare cosi?
SELECT * FROM Clienti , Annunci WHERE (Clienti.ID = Annunci1.ID_Clienti and Annunci1.cek1='1' or Annunci1.cek1='1') AND (Clienti.ID = Annunci2.ID_Clienti and Annunci2.cek2='1' or Annunci2.cek2='1')
Anche se "or Annunci1.cek" non so a cosa ti possa servire visto che la condizione precedente è AND
Altrimenti fai una leftjoin con le tre tabelle
No non basta fare così ,a parte che non puoi controllare due volte lo stesso campo ,non ha senso e poi al massimo potrebbe essere
SELECT * FROM Clienti , Annunci WHERE (Clienti.ID = Annunci1.ID_Clienti and Annunci1.cek1='1') or (Clienti.ID = Annunci2.ID_Clienti and Annunci2.cek2='1' )
ma anche così non funziona
Vediamo di aggiornare la situazione in questo modo
Ho il mio database
con la tabella Clienti ,così compilata
****://img697.imageshack.us/img697/2416/tabclienti.jpg
AnnunciF
****://img255.imageshack.us/img255/8393/tabannuncif.jpg
AnnunciV
****//img255.imageshack.us/img255/5750/tabannunciv.jpg
Ho fatto questa SELECT :
SELECT Clienti.nome, AnnunciF.concertif, AnnunciF.oraf, AnnunciF.giornof, AnnunciF.annuncio_f, AnnunciV.annuncio_v, AnnunciV.settimana, AnnunciV.giornov, AnnunciV.orav
FROM (Clienti LEFT JOIN AnnunciF ON Clienti.ID = AnnunciF.ID_Clienti) LEFT JOIN AnnunciV ON Clienti.ID = AnnunciV.ID_Clienti
WHERE (((AnnunciF.concertif)="1") AND ((AnnunciF.oraf)="giorno") AND ((AnnunciF.giornof)="lunedi")) OR (((AnnunciV.annuncio_v)="1") AND ((AnnunciV.settimana)=14) AND ((AnnunciV.giornov)="lunedi") AND ((AnnunciV.orav)="giorno"));
```Che mi riporta i seguenti record :
****://img532.imageshack.us/img532/4562/query.jpg
Adesso il problema è che non mi riporta il record con ID 1645 di tabella AnnunciV . che ha tutte le condizioni della WHERE
Se pero in AnnunciV ci sarebbero stati due record con ID 2 così
****://img535.imageshack.us/img535/6766/annunciv2.jpg
quindi due ID 2 ma con il campo settimana diverso
La risposta della select(citata sopra) è questa
****://img709.imageshack.us/img709/5246/query2c.jpg
:x:x
Qualcuno puo illuminarmi?