wie kan me helpen met de opbouw van deze query met blanco veld

Status
Niet open voor verdere reacties.

mieoli

Gebruiker
Lid geworden
2 feb 2008
Berichten
27
QueryPicture.jpg

In bijlage picture van 2 tabellen met wat het resultaat zou moeten zijn in het geel.
Wie kan me aan de query opbouw helpen?
Alvast bedankt voor de hulp!
 
Volgens mij heb je deze query nodig
[SQL]SELECT * FROM tabel1 INNER JOIN tabel2 ON (tabel1.matspecs = tabel2.matspecs)[/SQL]
 
De query van markitjuh klopt niet, maar dat had je vermoedelijk zelf al gezien. Wat ik hierboven bedoel is dit: de records met item 2104207 en 2104209 hebben geen overeenkomend record in de tweede tabel. Met de query hierboven ga je dan ook maar 3 records zien, en geen 5. Die krijg je wel als je een Outer Join maakt. Dan is dit het resultaat:

prgr item formpart matspecs sec
2104 2104206 FP2104001 MZZZ 20
2104 2104207
2104 2104208 FP2104001 MNSI 23
2104 2104209
2104 2104999 FP2104001 MZZZ 20

Maar hier zie je dus dat er voor die twee 'vrije' records niks is in te vullen; de velden blijven dus leeg. Maar jij zet daar met de hand (?) dus 18 in...
 
Dit resultaat:

prgr item Form_Part matspecs Secs
2104 2104206 FP2104001 MZZZ 20
2104 2104207 FP2104001 18
2104 2104208 FP2104001 MNSI 23
2104 2104209 FP2104001 18
2104 2104999 FP2104001 MZZZ 20

maak je met deze query:

Code:
SELECT tabel1.prgr, tabel1.item, IIf([formpart] Is Null,"FP2104001",[formpart]) AS Form_Part, tabel2.matspecs, IIf([sec] Is Null,18,[sec]) AS Secs
FROM tabel1 LEFT JOIN tabel2 ON tabel1.matspecs = tabel2.matspecs;
 
Deze laatste optie klopt wel, maar kan toch niet gebruikt worden, de gegevens zijn een kleine greep uit een heleboel info. Het is enkel de bedoeling dat als er bij de overeenstemmende prgr een item staat met een blanco matspecs veld, er overeenstemmend de gegevens opgehaald worden uit de tabel 2 met prgr en formparts waar ook het matspecs veld blanco is.
 
Die snap ik niet.... Leg het eens wat beter uit? Om hoeveel codes gaat het bijvoorbeeld?
 
het gaat om ongeveer 2000 prgr, een 20000 items, en een 800 formparts, de bedoeling is enkel dat als er in het veld matspecs bij een item niets staat, de gegevens opgehaald worden van de tabel 2, met als overeenstemming het veld prgr + matspecs (waar dus ook niets in kan staan)
 
Het scheelt enorm als je gelijk het probleem goed inschiet ;) Met een paar verschillende codes kun je nog wel met een IIF of een Switch werken, zoals ik in het vorige voorbeeld heb gedaan, maar nu praat je over een heel andere oplossing.... Ik denk dat je een tijdelijke tabel moet maken met de lege velden, zoals in mijn eerste voorbeeldje, zodat je met een bijwerkquery op basis van de tweede tabel de lege velden kunt vullen. Maar om dat enigszins bruikbaar uit te werken heb ik een voorbeeldje nodig met wat meer gegevens...
 
heb het zelf al opgelost door de blanco velden op te vullen met nullen in beide tabellen. bedankt allen om een oplossing te zoeken
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan