[PHP MYSQL] Vage query resultaten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • sariel
  • Registratie: Mei 2004
  • Laatst online: 22-05-2024
Ik heb een databasje met een aantal tabellen waarin items staan, en de bijbehorende (0 of meer) plaatjes.

Ik probeer de volgende query uit:
SQL:
1
2
3
4
5
6
7
8
SELECT *
FROM `item`
LEFT OUTER JOIN (
`image_collection` , `image`
) ON ( item.id = image_collection.item_id
AND image.id = image_collection.image_id )
WHERE category_id = '6'
ORDER BY item.id ASC , date DESC , image_id ASC 


en ik krijg de volgende resultaten:

Afbeeldingslocatie: http://gottravian.philippinepics.com/Personal/img/tabelresultaten.JPG

Zoals je ziet is item.id niet altijd gelijk aan item_id, ondanks dat ik in m'n query zeg dat die gelijk *moet* zijn. Waarom is dit? Heb ik een foutje in m'n query staan?

Copy.com


Acties:
  • 0 Henk 'm!

  • sariel
  • Registratie: Mei 2004
  • Laatst online: 22-05-2024
En hoe kan ik alsnog wel de items laten zien die geen image hebben?

Copy.com


Acties:
  • 0 Henk 'm!

  • sariel
  • Registratie: Mei 2004
  • Laatst online: 22-05-2024
bump?

Copy.com


Acties:
  • 0 Henk 'm!

  • dip
  • Registratie: September 2003
  • Laatst online: 16-01-2023

dip

shut up ulé

The Outer Joins
An inner join's ON condition retrieves only those records that satisfy the join condition. An outer join does the same thing but with the addition of returning records for one table in which there were no matching records in the other table.

It's scientifically known, that base improves the tase of cheezes!


Acties:
  • 0 Henk 'm!

  • sariel
  • Registratie: Mei 2004
  • Laatst online: 22-05-2024
Maar als ik een inner join doe, krijg ik slechts 1 regel, namelijk die met het plaatje. Dan mis ik de 2 andere regels.

Copy.com


Acties:
  • 0 Henk 'm!

  • dip
  • Registratie: September 2003
  • Laatst online: 16-01-2023

dip

shut up ulé

als je de query een beejte uittrekt zou je verwachten dat het resultaat is zoals gewenst ;x
SQL:
1
2
3
4
5
6
7
8
SELECT *
FROM `item`
INNER JOIN image_collection ON
    item.id = image_collection.item_id
    INNER JOIN image ON
        image.id = image_collection.image_id
WHERE item.category_id = '6'
ORDER BY item.id ASC, date DESC,  image_collection.image_id ASC

[ Voor 5% gewijzigd door dip op 15-11-2005 15:01 ]

It's scientifically known, that base improves the tase of cheezes!


Acties:
  • 0 Henk 'm!

  • sariel
  • Registratie: Mei 2004
  • Laatst online: 22-05-2024
Bedankt :) Heb een left-join er van gemaakt ipv een inner join, en nu werkt het :) Top :)

m'n sql is niet al te best ;(

Copy.com

Pagina: 1