webForumDet fria alternativet

Visa endast en post #2

8 svar · 528 visningar · startad av devotion

devotionMedlem sedan jan. 20013 582 inlägg
#1

Hej!

Har följande fråga:

SELECT DISTINCT tblArticle.articleName, tblArticle.articleNumber, tblArticle.articleUnit 
FROM tblArticle 
INNER JOIN tblPrice ON tblArticle.articlenumber = tblPrice.articleNumber 
WHERE tblArticle.articleName LIKE '%EKLK 3G1,5 R50%'
ORDER BY tblArticle.articleNumber ASC

denna ger resultatet:

Benämning Enhet Extra 
EKLK 3G1,5 R50 m cell3 
EKLK 3G1,5 R50 m cell3 
EKLK 3G1,5 R50 m cell3 
EKLK 3G1,5 R50 m cell3 
EKLK 3G1,5 R50 m cell3 
+ EKLK 3G1,5 R50 m cell3

Hur modifierar jag frågan så den endast visar:

EKLK 3G1,5 R50 m cell3 
+ EKLK 3G1,5 R50 m cell3

Jag provade att ta bort

tblArticle.articleNumber

från seleckten och det fungerarde om jag bara sökte på articleName. Men jag vill ju kunna söka på articleNumber oxå, och då måste jag ju ha med det...

Hur kan jag göra?

MVH
Henrik

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Jag tycker att ditt resultat inte hänger ihop med din fråga.

Om du bara vill kontrollera att din artikel har ett pris så är en subselect mer naturlig.

SELECT tblArticle.articleName, tblArticle.articleNumber, tblArticle.articleUnit 
FROM tblArticle 
WHERE tblArticle.articleName LIKE '%EKLK 3G1,5 R50%'
    and article_number in 
   (select article_number
      from tblPrice)
ORDER BY tblArticle.articleNumber ASC

Men jag vill ju kunna söka på articleNumber oxå, och då måste jag ju ha med det...

Vad menar du med det?

devotionMedlem sedan jan. 20013 582 inlägg
#3

Hej igen...

Hmmm, har nog krånglat till det lite i onödan....

tblArticle innehåller ju articleNumber, artricleName, articleUnit... så någon join behöver ju inte göras... Sorry!

Så följande fråga:

SELECT DISTINCT tblArticle.articleName, tblArticle.articleNumber, tblArticle.articleUnit 
FROM tblArticle 
WHERE tblArticle.articleName LIKE '%EKLK 3G1,5 R50%'
ORDER BY tblArticle.articleNumber ASC

ger följande resultat:

Benämning Enhet Extra 
EKLK 3G1,5 R50 m cell3 
EKLK 3G1,5 R50 m cell3 
EKLK 3G1,5 R50 m cell3 
EKLK 3G1,5 R50 m cell3 
EKLK 3G1,5 R50 m cell3 
+ EKLK 3G1,5 R50 m cell3

Om jag anger articlename som sökvillkor... Jag vill ju bara ha:

EKLK 3G1,5 R50 m cell3 
+ EKLK 3G1,5 R50 m cell3

Om jag däremot anger articleNumber som sökvillkor:

SELECT DISTINCT tblArticle.articleName, tblArticle.articleNumber, tblArticle.articleUnit 
FROM tblArticle 
WHERE tblArticle.articleNumber = '0000040'
ORDER BY tblArticle.articleNumber ASC

får jag följande resultat:

Benämning Enhet Extra 
EKKJ 1X10/10 m cell3

Hur gör jag för att "bara" få ett svar om jag anger articleName som sökvillkor fast det finns flera artiklar som matchar i databasen?

Mvh
Henrik

antipentAMedlem sedan maj 2006296 inlägg
#4

TOP 1 funkar.

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Det stämmer fortfarande inte. Du säger att du har distinct i frågan men de 5 första posterna i ditt resultat är identiska vilket inte är möjligt.

devotionMedlem sedan jan. 20013 582 inlägg
#6

Konstigt....

Det blir så iaf.. Skickar en dump.

Mvh
Henrik

Capture_35.jpg
LarsGMedlem sedan dec. 200012 464 inlägg
#7

Du använder tblArticle.articleName, tblArticle.articleNumber, tblArticle.articleUnit i frågan men i resultatet så har du Benämning Enhet Extra.

Vad är vad här? Blanda inte bort korten för mig på detta sätt. Jag blir alldeles förvirrad. Ställ frågan direkt i något administrationsverktyg istället och visa resultatet av det.

Jag börjar väl ana att du inte visar artikelnummer i ditt resultat. Dvs ditt resultat ser egentligen ut som

Articlename          ArticleNumber ArticleUnit
EKLK 3G1,5 R50    0000050         m 
EKLK 3G1,5 R50    0000051         m 
EKLK 3G1,5 R50    0000052         m 
EKLK 3G1,5 R50    0000053         m 
EKLK 3G1,5 R50    0000054         m 
+ EKLK 3G1,5 R50  1234567        m

eller vad?

Det är alltså samma vanliga gamla fråga. Vilket artikelnummer vill du ha om det finns flera poster med samma namn och enhet?

devotionMedlem sedan jan. 20013 582 inlägg
#8

Som vanligt har du ju rätt LarsG.... Sorry.. ;)

Nu blir det lite asp med...

Men, jag har följande kod nu som ändras beroende på om man valt att söka på nummer eller namn.

'Sätta defaultvärden
'*******************
sOption = "tblArticle.articleNumber = '" & sSearchField & "'"
sOrder = "tblArticle.articleNumber"
sSelect = "tblArticle.articleNumber, tblArticle.articleName"

'Sätta sökvillkor
'****************
If sSearchOption = "articleName" then
    sOption = "tblArticle.articleName LIKE '%" & sSearchField & "%'"
	sSelect = "tblArticle.articleName"
	sOrder1 = "tblArticle.articleName"
End If

'SQL-fråga
'*********
sSQL = 		"SELECT DISTINCT " & sSelect & ", tblArticle.articleUnit " &_ 
			"FROM tblArticle " &_
			"WHERE " & sOption & ""  &_
			"ORDER BY " & sOrder & " ASC"

Den fungerar fint och resultatet blir:

SELECT DISTINCT tblArticle.articleName, tblArticle.articleUnit 
FROM tblArticle 
WHERE tblArticle.articleName LIKE '%EKLK 3G1,5 R50%'
ORDER BY tblArticle.articleName ASC
Benämning  	Enhet  	
+ EKLK 3G1,5 R50 	m 	
EKLK 3G1,5 R50 	m

Är det så här man ska göra eller?

Mvh
Henrik

LarsGMedlem sedan dec. 200012 464 inlägg
#9

Jo, det ser bra ut.

275 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
135 ms — hämta forumlista (db)
131 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)