webForumDet fria alternativet

Får inte min SQL fråga att fungera 100%

2 svar · 141 visningar · startad av mikael_a

mikael_aMedlem sedan mars 2000475 inlägg
#1

Har nedanstående tabeller som jag försöker att hämta data ifrån. När jag kör sql frågan:

$result = mysql_query("SELECT DISTINCT ordrar.order_nr, ordrar.kund_nr, ordrar.bestallnings_ref, ordrar.leverans_adress, ordrar.bestallnings_datum, ordrar.specifikation, ordrar.skapad_av, kunder.kund_namn, kunder.kund_adress, kunder.kund_telefon, kunder.skapad, status.status
		FROM ordrar, status, status_ordrar, kunder 
		WHERE ordrar.kund_nr = kunder.kund_nr
		AND ordrar.order_nr = status_ordrar.order_nr
		AND ordrar.order_nr = '{$_GET['visaOrder']}'
		AND status.status_id = '{$_GET['status']}'
		ORDER BY bestallnings_datum DESC");

så fungerar det precis som jag vill ha det, men ibland är $_GET['status'] tom, och då fungerar naturligtvis inte SQL frågan, när jag försöker genom att använda

SELECT DISTINCT ordrar.order_nr, ordrar.bestallnings_datum, ordrar.specifikation, ordrar.skapad_av ,ordrar.kund_nr 
FROM ordrar, status, status_ordrar, kunder 
WHERE '1' = status_ordrar.status_id 
AND ordrar.order_nr = status_ordrar.order_nr 
AND ordrar.skapad_av='Mikael Andersson' 
AND ordrar.kund_nr='1000'
AND ordrar.order_nr='6'
ORDER BY bestallnings_datum DESC

så får jag tre svar, (eftersom jag har tre olika status i tabellen status)

så hur skall en SQL fråga se ut, så att den hämtar allt ifrån ordrar, status, status_ordrar, kunder, men endast 1 rad visas, så att jag kan köra in en visaOrder och hämta ut tex order 6

hoppas ni förstår hur jag menar...

kunder
------
*kund_nr
kund_namn
kund_adress
kund_telefon
skapad
skapad_av

ordrar
------
*order_nr
kund_nr
bestallnings_ref
leverans_adress
bestallnings_datum
specifikation
skapad_av

status
------
*status_id
status

status_ordrar
-------------
status_id
order_nr

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Du saknar ett join-villkor mellan status och status_ordrar

mikael_aMedlem sedan mars 2000475 inlägg
#3

JOIN har jag inte använt innan får kolla upp det, tack

128 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)