webForumDet fria alternativet
Logga in / Bli medlem

slå ihop 2 selectfrågor

Databaser & SQL

5 svar · 165 visningar · startad av Peeer

Medlem sedan mars 20025 907 inlägg
Trådstart#1

Vill ha ut två olika värden från samma tabell med en och samma fråga. Går det?

select a, (select b from tbl where a = 1 and c = 3) as d from tbl where b = 2 and c = 3

dbms: mysql 4.0.13

Medlem sedan maj 20031 472 inlägg
Medlem sedan mars 20032 667 inlägg
#3

Egentligen är väl en subselect klippt och skuret för det, men det stöds ju inte av 4.0.13. Kanske en selfjoin fixar biffen?

Medlem sedan mars 20025 907 inlägg
#4

greyhound skrev:

http://www.webforum.nu/showthread.php?s=&postid=675193#post675193

kanske?

Verkar fungera fint! Tack :)

K@llen: selfjoin?

Slutresultatet

select t1.folder_type, t2.folder_id 
from pm_folders as t1, pm_folders as t2 
where t1.folder_uid = t2.folder_uid and
t1.folder_id = 4 and 
t2.folder_uid = 2 and
t2.folder_type = 1
Medlem sedan mars 20032 667 inlägg
#5

K@llen: selfjoin?

Ja, en sådan du precis skrev. ;)

Du gör en join fast med enbart en tabell inblandad genom att ge tabellen två alias. I ditt fall fick tabellen pm_folders t1 och t2 som alias.

Medlem sedan mars 20025 907 inlägg
#6

K@llen skrev:

K@llen: selfjoin?

Ja, en sådan du precis skrev. ;)

Du gör en join fast med enbart en tabell inblandad genom att ge tabellen två alias. I ditt fall fick tabellen pm_folders t1 och t2 som alias.

Hehe, jadåså. Smidigt värre :)

375 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
119 ms — deklarationer (db)
124 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)