webForumDet fria alternativet

Leta upp rad i Tabell2 om värdet i Tabell1 är lika med...

Databaser & SQL

3 svar · 1 354 visningar · startad av oskars

Medlem sedan nov. 20051 317 inlägg
Frågan#1

Hej!

Jag har en tabell med kundregister där varje rad är knuten till en kundvagn i fältet "Kundvagn_ID", varje rad har även en kampanjkod i fältet "Kampanjkod_ID".

Det jag vill göra är att från min tabell Kundvagn_Rader leta upp alla Kundvagns-rader som hör till en kund i kundregistret som har en specifik Kampanjkod_ID!

Typ så här:
Välj alla kundvagnsrader där kunden i tabellen kundregistret har kampanjdkod "KOD2011"

Tacksam för hjälp! :) (y)

/ O

Medlem sedan juni 200032 967 inlägg
#2

Jag är inte helt säker på att jag förstår exakt hur saker och ting är lagrat. Har du både kampanjkod och kampanjkod_id i användartabellen?

Hur som, kanske kan detta fungera (eller vara något att utgå ifrån):

select k.* from kundvagnstabell k
inner join användartabell a
on k.kampanjkod_id = a.kampanjkod_id and a.kampanjkod = 'KOD2011'

Eller hur ser det ut?
Varför har du kundvagns-id i användartabellen? Vore det inte smartare att koppla direkt på användar-id?

Medlem sedan nov. 20051 317 inlägg
#3

Hm... jag är nog dålig på att förklara.. + att jag glömde en grej.

Så här:
Välj alla kundvagnsrader från "kundvagns_rader" där kunderna (customer_id) i tabellen "kundregistret" har kampanjkod "KOD2011", och summera Antal*Pris i tabellen "kundvagns_rader".

Typ så...

Har verkligen inte lyckats själv. Kan inte såna här inner joins.

Medlem sedan juni 200032 967 inlägg
#4

Kanske:

SELECT kr.*, kr.antal * kr.pris AS Totalsumma
FROM kundvagns_rader AS kr
WHERE kr.customer_id IN (SELECT k.id FROM kundregistret AS k WHERE k.id = kr.customerId AND k.kampanjkod = 'KOD2011')

Eller nått att börja med.

mvh

269 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)