Soci (Soczó Zsolt) szakmai blogja

2015.01.05.

SQL fejtörő 2.

Filed under: Adatbázisok,SQL Server,Szakmai élet — Soczó Zsolt @ 19:27

Az alábbi példa 1 sornyi és 1 oszlopnyi eredményhalmazt ad vissza, amiben NULL található. A feladat, hogy a középre be kellene írni egy darab sql kódot, amitől két null jön vissza 1 helyett.

USE TempDB
GO

CREATE TABLE AlmaTabla (Oszlop1 INT NULL)
CREATE TABLE KorteTabla (Oszlop1 INT NULL)
GO
ALTER TABLE AlmaTabla ADD CONSTRAINT
UX_AlmaTabla UNIQUE NONCLUSTERED (Oszlop1);
ALTER TABLE KorteTabla ADD CONSTRAINT
UX_KorteTabla UNIQUE NONCLUSTERED (Oszlop1);
GO
INSERT INTO AlmaTabla (Oszlop1)
VALUES (NULL)
GO
INSERT INTO KorteTabla (Oszlop1)
VALUES (NULL)
GO

--------------------------------------
-- Ide kellene valamit beirni, hogy 2 NULL-os sor jojjon vissza
--------------------------------------

SELECT st.Oszlop1
FROM AlmaTabla ft
LEFT JOIN KorteTabla st ON st.Oszlop1 = ft.Oszlop1
GO

DROP TABLE AlmaTabla;
DROP TABLE KorteTabla;
GO

Kommenteket most se engedek ki, hogy mindenki gondolkodhasson, csak szerdán, addig jöhetnek a megoldások. :)

A Test Driven Development tanfolyam következő felvonása február 9-edikén lesz, szeretettel várlak.

5 Comments

  1. Pl: INSERT INTO AlmaTabla(Oszlop1) VALUES(0)
    A LEFT JOIN miatt az AlmaTabla minden sorához megpróbál valamit kapcsolni, viszont mivel nem talál semmit (NULL =/= NULL) ezért NULL-t ír ki.

    Comment by Vazeratti — 2015.01.05. @ 21:39

  2. select null union all

    Comment by Atcom — 2015.01.05. @ 23:21

  3. pl.
    INSERT INTO AlmaTabla (`Oszlop1`) VALUES (1);

    Comment by mica — 2015.01.06. @ 00:57

  4. INSERT INTO AlmaTabla (Oszlop1)
    VALUES (1)
    GO

    Comment by Molnár Csaba — 2015.01.06. @ 19:04

  5. […] a beérkezett megoldásokat a feladatra. Hárman a left joinra építették a megoldást, a bal oldali táblát felszaporítva két sorra, […]

    Pingback by Soci (Soczó Zsolt) szakmai blogja » Blog Archive » SQL fejtörő 2. megoldások — 2015.01.07. @ 11:12

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress