MsSql Multi Select
Oke, ik moet dus 3 tables emt elkaar vergelijken, en dan de data fetchen die ik nodig heb, dus dacht ik INNER JOIN, dat moet ik gebruiken.
Maar nu in de MSSQL Management Studio Express geeft die de volgende fout aan(waneer ik de sql code wil verifieren):
Incorrect syntax near the keyboard 'WHERE'.
Dit is dus mijn query:
Maar nu in de MSSQL Management Studio Express geeft die de volgende fout aan(waneer ik de sql code wil verifieren):
Incorrect syntax near the keyboard 'WHERE'.
Dit is dus mijn query:
Moet die INNER JOIN Clan b niet direct gevolgd worden door ON b.CLID = c.CLID?
* disclaimer: ik heb alleen ervaring met MySQL :)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT
a.CID,
a.Name,
b.CLID,
c.CID,
c.CLID
FROM
ClanMember c
INNER JOIN Clan b ON
b.CLID = c.CLID
INNER JOIN Character a ON
a.CID = c.CID
WHERE
c.CLID = 5
a.CID,
a.Name,
b.CLID,
c.CID,
c.CLID
FROM
ClanMember c
INNER JOIN Clan b ON
b.CLID = c.CLID
INNER JOIN Character a ON
a.CID = c.CID
WHERE
c.CLID = 5
* disclaimer: ik heb alleen ervaring met MySQL :)
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
Ah dankje, de query is geverifieerd in de client, en werkt dus!
Maar dan krijgen de andre de waarden van de tabel ClanMember c
En als je de waarde van tabel ClanMember c lager is danwort het ook aangepast
Waarom heb je in je DB meerdere tabel met de zelfde wardes ?
Want mijn is geleerd alles wat dubbel is is over bodeg?
En als je de waarde van tabel ClanMember c lager is danwort het ook aangepast
Waarom heb je in je DB meerdere tabel met de zelfde wardes ?
Want mijn is geleerd alles wat dubbel is is over bodeg?
Gewijzigd op 01/01/1970 01:00:00 door johan
Omdat CID een automatisch gegenereerd nummer is die een Character ID voor steld.
De CID komt voor in de ClanMember & Character Table voor.
De Character houd specifieke details over de character, zoals XP, level, equipped items enzo.
De ClanMember table houd informatie over de hele clan, maar deze heeft geen namen in de tabel, alleen CID, & CLID (Clan ID), Clan ID staat weer in Clan Tabel, waar ook de naam staat, wins, losses, draws en andere informatie.
Ik wil juist deze informatie allemaal selecteren zodat ik een ranking page kan maken. Clan based, User based, Top-100's, etc.
Maar nu heb ik nog een vraagje
Als ik deze query in een functie gebruik, komt er helemaal geen values uit de array.
Een soort functie staat ook al eerder door mij gepost op het forum, alleen is deze iets aan gepast.
functie:
dan print_r ik de functie, maar staat er alleen
Array ( )
De CID komt voor in de ClanMember & Character Table voor.
De Character houd specifieke details over de character, zoals XP, level, equipped items enzo.
De ClanMember table houd informatie over de hele clan, maar deze heeft geen namen in de tabel, alleen CID, & CLID (Clan ID), Clan ID staat weer in Clan Tabel, waar ook de naam staat, wins, losses, draws en andere informatie.
Ik wil juist deze informatie allemaal selecteren zodat ik een ranking page kan maken. Clan based, User based, Top-100's, etc.
Maar nu heb ik nog een vraagje
Als ik deze query in een functie gebruik, komt er helemaal geen values uit de array.
Een soort functie staat ook al eerder door mij gepost op het forum, alleen is deze iets aan gepast.
functie:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
function membRank(){
$membarray = array();
$query = "
SELECT a.CID, a.Name, a. LEVEL, a.XP, a.Killcount, a.Deathcount, b.CLID, c.CID AS Expr1, c.CLID AS Expr2
FROM ClanMember AS c INNER JOIN
Clan AS b ON b.CLID = c.CLID INNER JOIN
Character AS a ON a.CID = c.CID
WHERE (c.CID = ".$_SESSION['UPCID'].")
";
$query = mssql_query($query) or die('Error, query failed');
while($row = mssql_fetch_row($query)){
$membarray[] = array("Name" => colorname($row[0]),
"Level" => $row[1],
"XP" => $row[4],
"Killcount" => $row[2],
"Deathcount" => $row[3],
"K/D Ratio" => $row[5],
"6" => $row[6],
"7" => $row[7],
"8" => $row[8],
"9" => $row[9]);
}
return $membarray;
}
?>
function membRank(){
$membarray = array();
$query = "
SELECT a.CID, a.Name, a. LEVEL, a.XP, a.Killcount, a.Deathcount, b.CLID, c.CID AS Expr1, c.CLID AS Expr2
FROM ClanMember AS c INNER JOIN
Clan AS b ON b.CLID = c.CLID INNER JOIN
Character AS a ON a.CID = c.CID
WHERE (c.CID = ".$_SESSION['UPCID'].")
";
$query = mssql_query($query) or die('Error, query failed');
while($row = mssql_fetch_row($query)){
$membarray[] = array("Name" => colorname($row[0]),
"Level" => $row[1],
"XP" => $row[4],
"Killcount" => $row[2],
"Deathcount" => $row[3],
"K/D Ratio" => $row[5],
"6" => $row[6],
"7" => $row[7],
"8" => $row[8],
"9" => $row[9]);
}
return $membarray;
}
?>
dan print_r ik de functie, maar staat er alleen
Array ( )
ziet er goed uit print is $_SESSION['UPCID'] in de function boven aan ?
"is de waarde geset ?"
en dat met print_r bedoelde ik dat je de $row moest prineten dan wet je ale key's die er beschik baar zijn
"is de waarde geset ?"
en dat met print_r bedoelde ik dat je de $row moest prineten dan wet je ale key's die er beschik baar zijn
Gewijzigd op 01/01/1970 01:00:00 door johan
oh ja, dat klopt, was vergeten de session functie te runnen die de UPCID zet xD
Eens kijken als het nu werkt
_
Werkte niet, nog steeds lege arrays
En de $row geprint, nog steeds leeg.
En $_SESSION['UPCID'] komt overeen met wat er in de database staat.
Eens kijken als het nu werkt
_
Werkte niet, nog steeds lege arrays
En de $row geprint, nog steeds leeg.
En $_SESSION['UPCID'] komt overeen met wat er in de database staat.
Gewijzigd op 01/01/1970 01:00:00 door Stefan
is het een int of een str "var_bump"
als het een str is
$query = "
SELECT a.CID, a.Name, a. LEVEL, a.XP, a.Killcount, a.Deathcount, b.CLID, c.CID AS Expr1, c.CLID AS Expr2
FROM ClanMember AS c INNER JOIN
Clan AS b ON b.CLID = c.CLID INNER JOIN
Character AS a ON a.CID = c.CID
WHERE (c.CID = '".$_SESSION['UPCID']."')
";
als het een str is
$query = "
SELECT a.CID, a.Name, a. LEVEL, a.XP, a.Killcount, a.Deathcount, b.CLID, c.CID AS Expr1, c.CLID AS Expr2
FROM ClanMember AS c INNER JOIN
Clan AS b ON b.CLID = c.CLID INNER JOIN
Character AS a ON a.CID = c.CID
WHERE (c.CID = '".$_SESSION['UPCID']."')
";
Nog steeds lege array
dom dom dom
Bleekt dat ik het probeerde bij een character die geen clan had. Daarom was ie dus leeg! xD
dom dom dom
Bleekt dat ik het probeerde bij een character die geen clan had. Daarom was ie dus leeg! xD
Gewijzigd op 01/01/1970 01:00:00 door Stefan
Oooooow LOL het werkt duss !?
Ja het werkt xD




