20. november 2007 - 11:10
Der er
6 kommentarer og
1 løsning
Lidt specielt udtræk
Hej Eksperter
Jeg har 3 tabeller (customer, supplier, sup_cust_conn)
Hvor sup_cust_conn bruges til at connecte customer og supplier sammen.
customer:
[custId],[companyName]
1, 'BørgeVVS'
2, 'LarsenElektric'
3, 'JenzVVS'
4, 'Allan Ent.'
Supplier:
[supId, supName]
1, 'sup1'
2, 'sup2'
3, 'sup3'
sup_cust_conn:
[connId, supId, custId]
1, 2, 1
2, 2, 2
3, 2, 3
4, 1, 2
5, 1, 3
via sup_cust_conn tabellen kan man se at 'sup2' levere til 3 alle 3 kunder, hvor 'sup1' kun levere til 2 (LarsenElektric & jenzVVS)
Nu vil jeg gerne lave et udtræk der lister alle kunder men samtidig viser om denne kunde har en forbindelse til en supplier, uden dubbletter.
Altså et output der ser sådan her ud når det gælder 'sup1'
[custId],[companyName],[isSelected]
1, 'BørgeVVS', FALSE
2, 'LarsenElektric', TRUE
3, 'JenzVVS', TRUE
4, 'Allan Ent.', FALSE
Kan det lade sig gøre?
Håber i forstår spørgsmålet.
20. november 2007 - 11:15
#1
lille fejl, efter rettelse. sup2 levere til 3 kunder ikke alle 3, da der jo er 4
20. november 2007 - 11:27
#2
Måske noget i denne stil (utestet):
SELECT custId,companyName,EXISTS(SELECT connId FROM sup_cust_comm WHERE customer.custId=sup_cust_conn.custId AND sup_cust_conn.supId=1) as isSelected FROM customer
20. november 2007 - 12:02
#3
Nu er jeg ikke så ferm med at bruge Exists, men når jeg læser om den kan jeg se at det bruges i forbindelse med "WHERE EXISTS...".
Jeg får også fejlen når jeg køre dit udtræk:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'EXISTS'.
Msg 156, Level 15, State 1, Line 6
Incorrect syntax near the keyword 'as'.
21. november 2007 - 03:17
#4
prøv:
SELECT custId,companyName,(SELECT COUNT(connId) FROM sup_cust_comm WHERE customer.custId=sup_cust_conn.custId AND sup_cust_conn.supId=1) as isSelected FROM customer