webForumDet fria alternativet

Söka på tabel

6 svar · 251 visningar · startad av Mc Fetto

Mc FettoMedlem sedan nov. 20022 355 inlägg
#1

Jag vill ifrån följande resultat:

http://www.webforum.nu/showthread.phps=&threadid=100743&forumid=53

Söka på data.da , inga problem med det men det är så att om man inte hittar ngt med LIKE i data.da så ska dess id som den tupeln har inte inkluderas i "joinarna"!

Hur lyckas man med det?

r: kanske lite otydlig. data.da är en kolumn och om man för varken ty in('xxx','yy','zz') hittar ngt som matchar ska id för xxx, yy, zz tas bort (det är alltid samma id på xxx, zz, yy)

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Fortfarande oklart för min del. Kan du exemplifiera med datainnehåll och förväntat resultat.

Mc FettoMedlem sedan nov. 20022 355 inlägg
#3

id ty data
---------
11 xx bla bla
11 yy bla bla
11 zz bla bla
12 xx bla bla
12 yy bla bla
12 zz bla bla

om man inte hittar ngn matchning i xx yy zz, under en och samma id, så ska den bortfalla ifrån resultatet. Hoppas jag har förklarat lite bättre denna gång!

r: alltså matchningen ska göras på data, och om det inte finns ngn matchning i data där ty är xx,zz,yy med samma id så ksa den bortfalla!

LarsGMedlem sedan dec. 200012 464 inlägg
#4
select id from t
where ty in ('zz','yy',xx')
group by id
having count(*) = 3

Kanske.

Mc FettoMedlem sedan nov. 20022 355 inlägg
#5

hm, nej då får jag endast ut ty=zz (eller om det var ty=xx)
Om man hittar en sträng som är överrensstämmande så vill jag ha ut de tre tupler där id är samma som för överrensstämmandet och där ty = zz, xx och yy

LarsGMedlem sedan dec. 200012 464 inlägg
#6
select p1.id from t as t1 inner join t as t2
on p1.id = p2.id 
where p1.type in ('xx','yy','zz')
and p2.data = 'bla'

Den länk som du lade in i första inlägget hjälper inget.

Mc FettoMedlem sedan nov. 20022 355 inlägg
#7

Nej det var rackarns vad fel det var på den länken!

Ok utifrån denna fråga:

SELECT distinct data.id, data.t, data.da 
FROM data inner join rel using (id) 
inner join rel using(id)
WHERE ty in('xxx','yy','zz')
and ( p = 1 or act  = 1)

Får jag ut följande (t ex):
id ty data
12 xx bla
12 zz bla
12 yy bla
...
och så fortsätter det..
Kan man modifiera.. den ovan sats så att den tar ut en matchande sträng, och då de i samma id endast?

244 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
242 ms — hämta tråd, inlägg och bilagor (db)