Query nidificata con esclusione di un gruppo di id.. non ricordo + come fare
simoegio non è online. Ultima attività: 04/07/2008 17.08.32simoegio
Inserito il: 04 luglio 2008 16.04
1 messaggio dal 04 lug 2008 Istalla Microsoft Silverlight!
Ciao,
purtroppo è un pò che non faccio select nidificate e quindi mi trovo un pelo spaesato e non riesco a venirne a capo..

sono coinvolte 2 tabelle così strutturate

`tag_item` (
`id_tag` int(11) unsigned NOT NULL default '0',
`id_item` int(11) unsigned NOT NULL default '0'
)

e

`tag` (
`id_tag` int(11) unsigned NOT NULL auto_increment,
`access` int(11) unsigned NOT NULL default '0',
`english_tag` varchar(50) NOT NULL default '',
`italian_tag` varchar(50) NOT NULL default '',
PRIMARY KEY (`id_tag`)
)


dove ovviamente id_tag sono uguali.
ora a me interessa fare una ricerca tramite il camp italian_tag escludendo però quei tag che sono già assegnati ad un determinato item

x cui nella facendo un esempio di tabella popolata avrò

tag_item : id_tag 1 --> id_item 1
id_tag 2 --> id_item 1
id_tag 5 --> id_item 1
tag: id_tag 1, italian_tag = casa
id_tag 2, italian_tag = pippo
id_tag 3, italian_tag = mare
id_tag 4, italian_tag = cd
id_tag 5, italian_tag = computer

a me interessa selezionare quindi mare e cd ovvero i tag che non sono stati essagnati all'item 1

quindi ho iniziato a elaborare questa query

SELECT italian_tag FROM tag WHERE italian_tag LIKE 'STRINGA%' AND id_tag NOT
(SELECT id_tag FROM tag_item WHERE id_item = '1')

però ovviamente così è sbagliata perchè ad esempio se in tag_item ho delle corrispondenze anceh per id_item 2 quelle veranno selezionate erroneamente

spero che qualcuno avrà voglia di aiutarmi e che sia stato chiaro.. grazie
RE: Query nidificata con esclusione di un gruppo di id.. non ricordo + come fare
SUPERPIPPO2005 non è online. Ultima attività: 14/10/2008 22.49.29SUPERPIPPO2005
Inserito il: 05 luglio 2008 17.26
112 messaggi dal 13 lug 2005 Istalla Microsoft Silverlight!
Ciao simoegio,
non mi è chiarissimo cosa sia id_item ...
Comunque se a te interessano i tag che non sono stati assegnati a nessun item puoi scrivere così:

SELECT italian_tag FROM tag WHERE italian_tag LIKE 'STRINGA%' AND id_tag NOT
(SELECT id_tag FROM tag_item)

Come avevi scritto tu, è chiaro che se tu chiedi solo quelli assegnati all'item = 1, quelli assegnati all'item = 2 vengono visualizzati ...

dovresti spiegarti un po' meglio (magari con un esempio più completo)

Ciao

Umb

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


maltra - 623 pt
vladimiro - 501 pt
PeppeDotNet - 290 pt

Ultimi vincitori: maltra, vladimiro, PeppeDotNet

Iscriviti anche tu e raccogli punti. Questo mese in palio Windows Vista Ultimate, SQL Prompt e 1 ebook!



COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums