webForumDet fria alternativet

kombinerad sökning på kategori&namn

Databaser & SQL

2 svar · 185 visningar · startad av Percy

Medlem sedan mars 2000187 inlägg
Frågan#1

hej!
har en tabell där jag lagrar olika kategorier och sedan en tabell där artiklar finns lagrade.

nu kan man söka på dels artikelnamnet men även på kategorinamnet, men om jag söker på ngt som finns i båda tabellerna så visar den inte d, hur gör man en sådan kombinerad sökning?

SELECT tb_article.product_name, tb_article.bounce, tb_article.weight, tb_article.shore, tb_article.diameter, 
tb_article.colour, tb_article.surface, tb_article.price, tb_article.article_id, tb_article.category_id, 
tb_category.cat_name, tb_category.cat_name2, tb_article.release_date, tb_category.cat_description 
FROM tb_category INNER JOIN tb_article ON tb_category.cat_id = tb_article.category_id 
WHERE tb_article.product_name LIKE '%" & searchstring & "%' OR tb_category.cat_name LIKE '%" & searchstring & "%' 
AND tb_article.is_active=True 
ORDER BY tb_category.cat_name, tb_article.product_name, tb_article.surface ASC

dvs om jag söker på ex. "BMW 740" så visas inte den för att jag har lagrat bilen som 740 i tb_article och sedan länkat den till kategorin BMM som är lagrad i tb_cat...

hur gör jag för att den även ska visa bilen i detta fallet?

tacksam för svar

Editerat för läsbarhet/LarsG
Please: Skriv inte så långa rader.

Medlem sedan dec. 200012 464 inlägg
#2

Du får ange parenteser för att få rätt presedens mellan operatorerna

SELECT tb_article.product_name, tb_article.bounce, tb_article.weight, tb_article.shore, tb_article.diameter, 
tb_article.colour, tb_article.surface, tb_article.price, tb_article.article_id, tb_article.category_id, 
tb_category.cat_name, tb_category.cat_name2, tb_article.release_date, tb_category.cat_description 
FROM tb_category INNER JOIN tb_article ON tb_category.cat_id = tb_article.category_id 
WHERE (tb_article.product_name LIKE '%" & searchstring & "%' OR tb_category.cat_name LIKE '%" & searchstring & "%' )
AND tb_article.is_active=True 
ORDER BY tb_category.cat_name, tb_article.product_name, tb_article.surface ASC
Medlem sedan mars 2000187 inlägg
#3

tack LarsG, men jag tror inte detta var lösningen på problemet...

ex.
"Mg Maier" är en kategori och "Classic 1" är en artikel så får jag inga träffar om jag som söksträng fyller i "Mg Maier Classic"

hur löser man detta? vill att den ska få en träff då.

måste man inte köra en parse? (vet inte hur man gör d, har bara fått höra att man kan göra så)

tack

263 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)