FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Klarade millennium-buggen
|
Jag har kört lite fast i tänkandet här.
Vill bygga en tjänst där användare registrerar sin bostad för byte, och sedan kan söka på byten, triangelbyten, rektangelbyten etc. (Som björns bostadsbytare mm.) För att göra det så enkelt som möjligt här, låt oss säga att det enda attribut man kan ange är antal rum. Säg då att jag har en 1:a och vill byta mot en 3:a, och att någon annan har en 3:a och vill byta mot en 1:a. Sökningen blir då något i stil med SELECT * FROM byten WHERE jag_har = 3 AND jag_vill_ha = 1 Problemet kommer ju när jag (Person A) har en 1:a och vill ha en 3:a. Person B har en 2:a och vill ha en 1:a Person C har en 3:a och vill ha en 2:a Hur skall jag hantera denna sökning? Jag ser ju med blotta ögat att A skall ge sin lägenhet till B som skall ge sin till C som skall ge sin till A. Jag har bara fått total blackout och vet inte riktigt i vilken ände jag skall börja. Är tacksam för tips och idéer. |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Medlem
|
Är inte säker på om jag tänker helt galet men borde inte något liknande funka
SELECT a.byteid, b.byteid FROM byten a, byten b WHERE a.jag_har = b.jag_vill_ha AND a.jag_vill_ha = b.jag_har Jag är inte säker och jag orkar inte testa... ![]() |
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Klarade millennium-buggen
|
Okej, jag har gjort en databas nu med 3 fält
ID rum_har rum_villha Såhär ser queryt ut: SELECT a.id, b.id FROM BP_byten a, BP_byten b WHERE a.rum_har = b.rum_villha AND a.rum_har = b.rum_villha LIMIT 0 , 30 Detta retunerar: 2 1 3 2 4 2 1 3 1 4 Dvs 2 vill ha 1 3 vill ha 2 4 vill ha 2 1 vill ha 3 1 vill ha 4 Detta stämmer. Men låt säga att jag själv är ID 3. Då vill jag ju ha fram en sådan lista med mina egna tillgångar och önskemål i fokus, hur gör jag queryt då? |
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Mycket flitig postare
|
Citat:
|
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Klarade millennium-buggen
|
Okej, queryt ser nu ut såhär:
SELECT a.id, b.id FROM BP_byten a, BP_byten b WHERE ( a.rum_har = b.rum_villha AND a.rum_har = b.rum_villha AND a.id =3 ) Svaret jag får är att 3 vill ha 2, vilket ju är sant, men vad jag menade (förklarade kanske lite otydligt) är att jag vill ha hela kedjan baserad på nummer 3. Att 3 vill ha 2 är en start, men jag vill ju också se att det är möjligt att uppfylla 2´s behov genom att 2 också vill ha 1. Gud vad krångligt detta blev. Har gjort i html hur jag vill presentera resultatet. www.onsdag.nu/byte/ |
|||
![]() |
![]() |
Svara |
|
|