SQL Server. Verkeerde topic.quote:Op woensdag 2 september 2009 08:00 schreef ReWout het volgende:
Ik heb even een vraagje over sql...
Ik zit met 't volgende probleem. Namelijk ik heb een tabel, laten we deze even y noemen. Deze heeft 2 velden.
id en naam. Nu kan een naam gekoppeld zijn aan 1 of meerdere andere namen in dezelfde tabel...
Dus gewoon een koppeltabel...
id_1 id_2
die beiden eigenlijk verwijzen naar de de eerste rij van de vorige tabel. Nu is mijn vraag.
Kan ik hier oor foreign key constraints op gebruiken? Ik probeer dit namelijk bij sql server maar lukt niet echt
Yup id in y is natuurlijk primary key. Mag ook geen null hebben en types zijn 't zelfde.quote:Op woensdag 2 september 2009 08:37 schreef Tuvai.net het volgende:
[..]
SQL Server. Verkeerde topic.
-> Het grote (?) .NET en MSSQL topic
Maar goed, wat gebruik je als ids? ints / bigints of uniqueidentifiers? De kolomtypes waar je de foreign key constraints op legt (dus de id kolom van je 'y' tabel en het betreffende id veld in je koppeltabel) dienen wel hetzelfde te zijn. Is het id veld van je 'y'-tabel wel primary key? Welke error krijg je overigens?
quote:Op woensdag 2 september 2009 08:37 schreef Tuvai.net het volgende:
Welke error krijg je overigens?
quote] Op woensdag 2 september 2009 09:53 schreef Tuvai.net het volgende:quote:Op woensdag 2 september 2009 11:56 schreef ReWout het volgende:
nvm. heb 't al was een fout in 't schema.
1 2 3 4 5 | (id,bestelId,eigId,aantal,prijs) VALUES(0,'".$bestelId."','".$k."','".$v."',". SELECT prijs FROM eigenschappen WHERE id=$k .")"; |
Ja.quote:Op woensdag 2 september 2009 22:51 schreef Swetsenegger het volgende:
Kan je in een insert query een select subquery inbouwen?
voorbeeld
[ code verwijderd ]
Maar dan werkend
1 2 3 | (id, bestelId, eigId, aantal, prijs) VALUES(0, '".$bestelId."', '".$k."', '".$v."', (SELECT prijs FROM eigenschappen WHERE id=".$k.")) |
Handig spul . Vertraagd de boel wel flink.quote:Op donderdag 3 september 2009 10:19 schreef Chandler het volgende:
vanaf welke versie (mysql) werken subqueries eingelijk?
Er zijn genoeg situaties waarin een subquery sneller is dan dezelfde data ophalen zonder subquery.quote:Op donderdag 3 september 2009 11:28 schreef Mordreth het volgende:
[..]
Handig spul . Vertraagdt de boel wel flink.
Dat dus.quote:Op donderdag 3 september 2009 12:43 schreef GlowMouse het volgende:
[..]
Er zijn genoeg situaties waarin een subquery sneller is dan dezelfde data ophalen zonder subquery.
Ook bij SELECTs kan een subquery sneller zijn.quote:Op donderdag 3 september 2009 12:45 schreef Tuvai.net het volgende:
[..]
Dat dus.
Om actuele data uit een andere tabel/record op te halen is een subquery ideaal bij een insert/update. Sowieso sneller dan de data zonder subquery ergens ophalen (en nog erger, dat IN je applicatie doen, buiten je database) en dan weer verwerken.
quote:Op donderdag 3 september 2009 18:57 schreef Darkomen het volgende:
Oke, ook ik zit met een mysql datum probleempje.
Ik probeer te checken of er al een afspraak is op een bepaalde tijdstip op een dag.
Na diverse opties geprobeerd te hebben dacht ik een werkende te hebben, maar na 2 weken niks gedaan te hebben (cursus) werkt de check ineens niet meer?
$sql = "SELECT aid, begin_stamp, eind_stamp FROM agenda WHERE (begin_stamp BETWEEN $beginDag AND $eindDag) AND ( (begin_stamp=<$eindStamp) (eind_stamp>=$beginStamp ) ) ORDER BY begin_stamp";
Ik begin door alleen de dag te selecteren, '(begin_stamp BETWEEN $beginDag AND $eindDag) '
en daarna te controleren of er een afspraak is.
Die levert bijvoorbeeld zo'n query op.
Afspraak Begin Dag: 03-09-2009, 00:00:00 1251928800
Afspraak Eind Dag: 04-09-2009, 00:00:00 1252015200
Nieuwe Afspraak Begin Stamp: 03-09-2009, 09:55:00 1251964500
Nieuwe Afspraak Eind Stamp: 03-09-2009, 10:10:00 1251965400
[SELECT aid, begin_stamp, eind_stamp FROM agenda WHERE aid<>18 AND (begin_stamp BETWEEN 1251928800 AND 1252015200) AND ( (begin_stamp BETWEEN 1251964500 AND 1251965400) OR (eind_stamp BETWEEN 1251964500 AND 1251965400) ) ORDER BY begin_stamp]
Deze check komt ook bij een update, mocht de tijd zijn aangepast.
Maar dan alleen worde aid toegevoegd.
1 |
En:quote:Op donderdag 3 september 2009 19:16 schreef Tuvai.net het volgende:
[..]
[ code verwijderd ]
Hoort er geen AND / OR te staan bij die sterretjes?
Niet per definitie met PHP. Je zorgt gewoon dat je één tabel categorieën hebt met daarin een veld ParentID. ParentID verwijst weer naar het ID van een ander record in diezelfde tabel.quote:Op donderdag 3 september 2009 21:39 schreef wobbel het volgende:
Op dit moment heb ik een zelfgeschreven webshop met een tabel Categorieen en tabel Subcategorieen...
Graag zou ik het willen maken dat je oneindig veel categorieen kan maken (in de praktijk 3 of 4 dus)
Hoe ga je dat oplossen met PHP? ik kan er geen tutorials over lezen...
En dat is juist het moeilijke....hoe kom ik erachter welke categorie waarin hoort en hoe kan ik dat makkelijk weergeven...Want ik zou wel ontiegelijk veel query's moeten uithalen om dat dan weer te geven...quote:Op donderdag 3 september 2009 21:42 schreef Tuvai.net het volgende:
[..]
Niet per definitie met PHP. Je zorgt gewoon dat je één tabel categorieën hebt met daarin een veld ParentID. ParentID verwijst weer naar het ID van een ander record in diezelfde tabel.
Afhankelijk van (wat je presenteert in) je applicatie, zul je bijvoorbeeld wel een 'recursieve functie' moeten schrijven als je een pagina hebt waar je de hele 'boomstructuur' van categorieën wilt weergeven.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |