webForumDet fria alternativet

koppla samma men ändå inte

3 svar · 154 visningar · startad av arvjos

arvjosMedlem sedan juni 2002129 inlägg
#1

Hejsan

Har två tabeller. En som är kalender med olika händelser. I kolumnen name där finns ett id som pekar på en aktivitet som ligger i en annan tabell. Det kan oxå stå någon text i namn istället och då är det en fri aktivitet som inte finns i aktivitetstabellen.

Jag kör med följande rad:

SELECT city_activities.name FROM calendar, city_activities WHERE calendar.name = city_activities.id

Jag får då bara de som har ett id och de som har någon annan text struntar han i.

Hur ska jag göra för att han ska visa allt? Men han ska självklart visa det riktiga namnet på de aktiviteter som bara har ett id och inte text

Tack

LarsGMedlem sedan dec. 200012 464 inlägg
#2
SELECT city_activities.name 
FROM calendar left outer join 
 city_activities 
on calendar.name = city_activities.id

Jag tycker inte att det är någon bra design

arvjosMedlem sedan juni 2002129 inlägg
#3

hur ska jag ha det istället då?

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Det jag ogillar är att du använder ett fält till två saker.

Om det inte finns någon aktivitet så lagra null i name istället. Om du vill ha lösa aktiviteter så lagra dessa i en egen kolumn och inte i name.

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