Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Hvorfor dobbeltlinjer i DB-udtræk?

1 view
Skip to first unread message

Kurt Hansen

unread,
Sep 2, 2015, 2:47:58 AM9/2/15
to
Jeg trækker data ud fra to tabeller:

SELECT products.products_id, products.products_model,
products.products_date_added, products_description.products_name
FROM products, products_description
WHERE products.products_id = products_description.products_id
AND products.products_id >32000
AND products.products_image NOT LIKE "%/Dist/%"

Hvert ID udtrækkes imidlertid to gange:

32115 0028948114863 2015-03-18 15:30:29 The Chopin Project
32115 0028948114863 2015-03-18 15:30:29
32116 002894777374 2015-03-19 11:51:36 Händel: Alcina
32116 002894777374 2015-03-19 11:51:36
32117 6989362 2015-03-20 14:54:55 Verdi: Requiem
32117 6989362 2015-03-20 14:54:55
32118 5034032 2015-03-20 15:02:15 Adams: Harmonielehre
o.s.v.

Hvorfor?
--
Venlig hilsen
Kurt Hansen

Krabsen

unread,
Sep 3, 2015, 3:48:56 AM9/3/15
to
Formentlig fordi du mangler at fortælle databasen i dens eget sprog,
hvordan de to tabeller hænger sammen:

Noget i retning af dette burde virke

> SELECT products.products_id, products.products_model,
> products.products_date_added, products_description.products_name
> FROM products INNER JOIN products_description
> ON products.products_id = products_description.products_id
> WHERE products.products_id >32000
> AND products.products_image NOT LIKE "%/Dist/%"


..det skal muligvis være en LEFT JOIN i stedet for en INNER JOIN, det må
du eksperimentere lidt med..


Kurt Hansen

unread,
Sep 3, 2015, 6:15:10 AM9/3/15
to
Den 03/09/15 kl. 09.48 skrev Krabsen:
Det gør det ikke. Gi'r stadig dóbbeltudtræk af alle poster.

> ..det skal muligvis være en LEFT JOIN i stedet for en INNER JOIN, det må
> du eksperimentere lidt med..

Jeg har erstattet INNER med LEFT, men det gør ingen forskel og jeg har
absolut ingen forstand på at eksperimentere ;-)

Krabsen

unread,
Sep 3, 2015, 6:41:45 AM9/3/15
to
Du er nødt til at eksperimentere, hvis du programmerer :-)

nu kender vi ikke tabeldesign, men kan det tænkes, at samme products_id
optræder i to records i products_description? For så er det jo logisk
at der kommer to linier...


Prøv
SELECT DISTINCT
eller SELECT DISTINCTROW



0 new messages