If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
ow en wat had je al?
(mm tijd over, werkt dit?)
1
| SELECT * FROM `competenties` AS `c` INNER JOIN `competentie_werkproces` AS `cw` ON `cw`.`competentie_ID` <> `c`.`competentie_ID` WHERE `cw`.`werkproces_ID` = '<je nummer hier>' GROUP BY `c`.`competentie_ID` |
[ Voor 106% gewijzigd door BasieP op 27-06-2007 12:23 ]
This message was sent on 100% recyclable electrons.
1
| SELECT c.*, wp.werkproces_ID as wpID FROM cgl_competenties as c LEFT JOIN cgl_competentie_werkproces as wp ON wp.competentie_ID = c.competentie_ID ORDER BY nummer |
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Heel snel gescand, lijkt het erop dat je IN en een subquery moet gebruiken. Het lijkt erop dat je vraagstelling een beetje vaag is (met name je laatste zin
Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.
1
| select distinct naam from competenties cp, competenties_werkproces wp where sp.competentie_ID != wp.competentie_ID |
Je bent écht thuis in de SQL wereld?
[ Voor 6% gewijzigd door Gonadan op 27-06-2007 12:21 ]
Look for the signal in your life, not the noise.
Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8
En ja ik ben er wel in thuis.
@BTM, ik ga kijken naar subqueries en IN
Mn vraag is ook wellicht wat vaag, het is ook lastig uit te leggen.
[ Voor 36% gewijzigd door Guillome op 27-06-2007 12:23 ]
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
This message was sent on 100% recyclable electrons.
Een clausule vergeten.Guillome schreef op woensdag 27 juni 2007 @ 12:22:
@godananan, die is niet helemaal goed-> ik mis nu nog de kolom werkproces_ID zodat ik kan filteren. Of het moet in de SQL al kunnen. Ik moet namelijk alle competenties die nog niet bestaan in dit werkproces. Nu pakt ie gewoon alle competenties.
En ja ik ben er wel in thuis.
1
2
3
4
| select distinct naam from competenties cp, competenties_werkproces wp where sp.competentie_ID != wp.competentie_ID and wp.werkproces_ID=2 |
Maar dat had je toch ook zelf kunnen doen?
Look for the signal in your life, not the noise.
Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8
" Column 'c.nummer' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause."
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Gonadan schreef op woensdag 27 juni 2007 @ 12:27:
[...]
Een clausule vergeten.
SQL:
1 2 3 4 select distinct naam from competenties cp, competenties_werkproces wp where sp.competentie_ID != wp.competentie_ID and wp.werkproces_ID=2
Maar dat had je toch ook zelf kunnen doen?
@godananan, die is niet helemaal goed-> ik mis nu nog de kolom werkproces_ID zodat ik kan filteren. Of het moet in de SQL al kunnen. Ik moet namelijk alle competenties die nog niet bestaan in dit werkproces. Nu pakt ie gewoon alle competenties.
1
2
3
4
| select distinct naam from cgl_competenties as cp, cgl_competentie_werkproces as wp where cp.competentie_ID != wp.competentie_ID and wp.werkproces_ID=4 |
[ Voor 12% gewijzigd door Guillome op 27-06-2007 12:28 ]
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Wat probeer je te zeggen?Guillome schreef op woensdag 27 juni 2007 @ 12:28:
SQL:
1 2 3 4 select distinct naam from cgl_competenties as cp, cgl_competentie_werkproces as wp where cp.competentie_ID != wp.competentie_ID and wp.werkproces_ID=4
Wil je dit:
1
2
3
4
| select distinct naam, competentie_ID from cgl_competenties as cp, cgl_competentie_werkproces as wp where cp.competentie_ID != wp.competentie_ID and wp.werkproces_ID=4 |
Edit: Nee ook niet.
Look for the signal in your life, not the noise.
Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8
Echter. Hij moet even in de tabel cgl_competentie_werkproces kijken welke competenties al gekoppeld zijn aan het werkproces welke je nu geopend hebt (in mijn voorbeeld hier net boven 4), en al die competenties achter wege laten.
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Dat doet hij toch? Of ben ik nou gek.Guillome schreef op woensdag 27 juni 2007 @ 12:30:
Hij moet in principe ALLE competenties laten zien.
Echter. Hij moet even in de tabel cgl_competentie_werkproces kijken welke competenties al gekoppeld zijn aan het werkproces welke je nu geopend hebt (in mijn voorbeeld hier net boven 4), en al die competenties achter wege laten.
Look for the signal in your life, not the noise.
Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8
Jouw output: (met deze query)
1
2
3
4
| select distinct naam, werkproces_ID, cp.competentie_ID from cgl_competenties as cp, cgl_competentie_werkproces as wp where cp.competentie_ID != wp.competentie_ID and wp.werkproces_ID=4 |
1
2
3
4
5
6
7
8
| Naam, werkproces_ID, competentie_ID Analyseren 4 1 Beslissen en activiteiten initieren 4 2 Ethisch en integer handelen 4 3 Formuleren en rapporteren 4 4 Overtuigen en beinvloeden 4 5 Plannen en organiseren 4 6 Samenwerken en overleggen 4 7 |
Inhoud van competentie_werkproces tabel
1
2
3
4
5
| Comp_ID, werkproces_ID 4, 4 5, 4 6, 4 7, 4 |
Inhoud van competentielijst: 7 competenties
Wat ik wil is:
1
2
3
| Beslissen en activiteiten initieren 4 1 Ethisch en integer handelen 4 2 Samenwerken en overleggen 4 3 |
[ Voor 108% gewijzigd door Guillome op 27-06-2007 12:38 ]
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
1
2
3
4
5
| select naam from competenties where competentie_id not in (select competentie_id from competenties_werkgroep where werkgroep_id=2) |
Zoiets?
Look for the signal in your life, not the noise.
Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.
die error kan je wel wegwerken natuurlijk, gewoon je * vervangen door de kolommen die je wilt.Guillome schreef op woensdag 27 juni 2007 @ 12:27:
@BasieP:
" Column 'c.nummer' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause."
ben wel benieuwd of mijn methode ook werkt, aangezien het een stuk sneller is dan een subquery
This message was sent on 100% recyclable electrons.
Jouw methode is dezelfde als mijn eerste methode alleen anders geschreven.BasieP schreef op woensdag 27 juni 2007 @ 12:43:
die error kan je wel wegwerken natuurlijk, gewoon je * vervangen door de kolommen die je wilt.
ben wel benieuwd of mijn methode ook werkt, aangezien het een stuk sneller is dan een subquery
Het probleem is dat je niet alle competenties pakt die niet in werkgroep 2 zitten, maar sowieso elke competentie die niet in alle werkgroepen voorkomt.
Look for the signal in your life, not the noise.
Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8
Zoiets?
1
2
3
4
5
| select naam from competentie cp left outer join competentie_werkgroep wg on cp.cp_id = wg.cp_id and wg.wg_id = '4' where isnull(wg.cp_id) |
Als ik het zo doe pakt ie geen enkele competentie.
1
2
3
4
5
| select cp.naam, wg.competentie_ID, cp.nummer from cgl_competenties as cp left outer join cgl_competentie_werkproces as wg on cp.competentie_ID = wg.competentie_ID and wg.werkproces_ID = '4' where wg.competentie_ID = NULL |
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
1
2
3
4
| select cp.naam, wg.competentie_ID, cp.nummer from cgl_competenties as cp left outer join cgl_competentie_werkproces as wg on cp.competentie_ID = wg.competentie_ID and wg.werkproces_ID = '4' |
1
2
3
4
5
6
7
| Beslissen en activiteiten initieren NULL A Samenwerken en overleggen NULL E Ethisch en integer handelen NULL F Overtuigen en beinvloeden 4 H Formuleren en rapporteren 5 J Analyseren 6 M Plannen en organiseren 7 Q |
Zo werkt het ook, moet ik alleen in PHP nog verder filteren
Als ik where competentie_ID = NULL doe geeft ie een foutmelding:
Ambiguous column name 'competentie_ID'.
[ Voor 5% gewijzigd door Guillome op 27-06-2007 13:17 ]
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Iets is nooit gelijk aan NULL; je zult sowieso dus "blahblah is NULL" moeten gebruiken. Probeer maar eens:Guillome schreef op woensdag 27 juni 2007 @ 13:06:
SQL:
1 2 select cp.naam, wg.competentie_ID, cp.nummer where wg.competentie_ID = NULL
1
2
| select case when NULL is NULL then 'jep' else 'nope' end select case when NULL = NULL then 'jep' else 'nope' end |
Output:
1
2
| jep nope |
[ Voor 23% gewijzigd door RobIII op 27-06-2007 13:18 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
de error die je krijgt betekent dat die colomn in meerdere tabellen voorkomt. dus ff iets er voor zetten wat de tabel specificeerdAls ik where competentie_ID = NULL doe geeft ie een foutmelding:
Ambiguous column name 'competentie_ID'.
[ Voor 40% gewijzigd door BasieP op 27-06-2007 13:19 ]
This message was sent on 100% recyclable electrons.
Hij doet het dus prima, en ik zette niet voor niets isnull(blaat) neer.Guillome schreef op woensdag 27 juni 2007 @ 13:13:
Zo werkt het ook, moet ik alleen in PHP nog verder filteren
Als ik where competentie_ID = NULL doe geeft ie een foutmelding:
Ambiguous column name 'competentie_ID'.
Dat die kolom ambiguous is, komt omdat ie in beide tabellen staat, je wilt controleren of ie in 1 van die twee tabellen niet bestaat. Mag je zelf bepalen welke
Het maakt wel degelijk uit welke hij kiest. Maar dat bedoel je ook waarschijnlijk.
Dat soort fouten moet je toch echt zelf op kunnen lossen als je thuis bent in de sql hoor.Als ik where competentie_ID = NULL doe geeft ie een foutmelding:
Ambiguous column name 'competentie_ID'.
Look for the signal in your life, not the noise.
Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router