MSSQL Join Problem

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/mssql-join-problem_250042/page_1 - zur Vollversion wechseln!


Umlüx schrieb am 06.11.2017 um 15:52

und wieder wend ich mich hilfesuchend mit einen saudepperten problem an euch..

ich hab eine Tabelle A

Code:
num text
=== ====
1   foo  
2   bar  
3   blubb  
4   flubb
und eine Tabelle B
Code:
num code
=== ====
1   722
2   730 
3   VO  
4   852
5   766
gibts irgend einen trick um die beiden zu joinen ABER die row mit code "VO" auszulassen? er müsst also z.b. die dritte row von A mit der vierten von B joinen.


Saddamski schrieb am 06.11.2017 um 15:56

Zitat aus einem Post von Umlüx
und wieder wend ich mich hilfesuchend mit einen saudepperten problem an euch..

ich hab eine Tabelle A
Code:
num text
=== ====
1   foo  
2   bar  
3   blubb  
4   flubb
und eine Tabelle B
Code:
num code
=== ====
1   722
2   730 
3   VO  
4   852
5   766
gibts irgend einen trick um die beiden zu joinen ABER die row mit code "VO" auszulassen? er müsst also z.b. die dritte row von A mit der vierten von B joinen.

anhand von was willst du sie verjoinen? num geht ja offensichtlich nicht da du sachen weglassen willst.

kannst du anhand von row_num verjoinen?kA obs in MSQL genau so läuft - so wäre die "logik":

Code: SQL
select a.num, a.text, b.code from
(select num, text,  rownum as rows_a from a
) a,
(select num, code,  rownum as rows_b from b
where code != 'VO') b
where rows_a = rows_b;

edit@obermotz: ist rownum so dermaßen umständlich mit mssql - bist deppad :D
edit2: nochmal korrigiert damit was funktionierendes dasteht(is halt oracle und nicht mssql)


Obermotz schrieb am 06.11.2017 um 15:58

Code: SQL
SELECT a.text, b.code
FROM (SELECT text, row_number() over (order by num) as row_num
    FROM A) A
JOIN
    (SELECT code,row_number() over (order by num) as row_num
    FROM B where b.code NOT IN 'VO') B
on  A.row_num=B.row_num
ORDER BY A.text, B.code


Umlüx schrieb am 06.11.2017 um 16:15

*hirngreif* wenn mans liest ist es so logisch und eindeutig...

DANKE! :D


Obermotz schrieb am 06.11.2017 um 21:39

Ja, die MSSQL Syntax ist zum Teil etwas ungewöhnlich, ich bin auch eher ein Oracle Fanboy..




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025