Ik zou graag de volgende code willen uitbreiden met een tijdelijke, lokale column die niet in de database staat. Ik zou graag de SQL/Query uit willen breiden met een column die alleen lokaal aan te spreken is. Ik maak overigens gebruik van PHP.

Deze column zou ik vervolgens willen gebruiken om te filteren


SELECT id, naam, uitleenontvanger, uitleendatum, terugdatum FROM films WHERE uitleen = 'Ja'
UNION
SELECT id, naam, uitleenontvanger, uitleendatum, terugdatum FROM muziek WHERE uitleen = 'Ja'
UNION
SELECT id, naam, uitleenontvanger, uitleendatum, terugdatum FROM boeken WHERE uitleen = 'Ja'


Is dit mogelijk?

Wat bedoel je met 'lokale column'? Wat wil je daar in zetten en hoe wil je daar op filteren?
Ik haal bijv id, naam, uitleenontvanger, uitleendatum, terugdatum uit de database, en terwijl ik dat doe wil ik in de SQL query een extra veld (bijv. media) toevoegen die niet in de database staat maar ik wel graag in de sql query wil hebben, vervolgens zou ik graag dat de waarde hiervan voor de film query film is, voor muziek de waarde muziek en voor boeken de waarde boeken.
SELECT id, naam, uitleenontvanger, uitleendatum, terugdatum, "Film" AS media FROM films WHERE uitleen = 'Ja'

etc
uuu het kan aan mij liggen maar dit kan ook in 1 tabel..


Tabel: tbl_uitleen
- id
- naam
- uitleenontvanger
- uitleendatum
- terugdatum
- type (BIT(1), 1=film, 2=muziek, 3=boeken)
- overige velden...


en mocht je hem dan willen uitbreiden kan je er een type tabel bij maken:

Tabel tbl_uitleen_type
- id
- naam (film, muziek, boeken, enze..)
- actief

Als je het uitbreid met bijvoorbeeld een type tabel dan moet je in de uitleen tabel bij type het id van de uitleen_type tabel...
Ipv type zou je dan type_id moeten gebruiken, en zeker zon tbl_uitleen_type maken!
Al is het maar voor de duidelijk EN dat je geen informatie/gegevens in je PHP hoeft op te slaan.
En zo veel moeilijker worden de queries er ook niet van.
Eddy Erkelens op 23/05/2012 17:16:49

En zo veel moeilijker worden de queries er ook niet van.


Moeilijker ?
Het word er dan juist makkelijker op en ook minder query's.
i.v.p 3 query's om alleen al alles op te halen heb je er nog maar 1 nodig...
Ja, maar de geavanceerdheid is wel hoger. Namelijk met JOIN... Whooooo!
hier even een klein voorbeeldtje voor als je me tabel structuur gebruikt (met een kleine aanpassing)


SELECT 
      tbl_uitleen.id, tbl_uileen.naam, tbl_uitleen.uitleenontvanger, 
      tbl_uitleen.uitleendatum, tbl_uitleen.terugdatum, tbl_uitleen.type_id,
      tbl_uitleen_type.naam, tbl_uitleen_type.actief
FROM 
      tbl_uitleen
LEFT JOIN 
      tbl_uitleen_type
ON 
      (tbl_uitleen.type_id = tbl_uitleen_type.id)

Reageren