Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[subiekt GT] SQL zapytanie

asterix99 05 Sty 2011 14:07 3004 6
  • #1 05 Sty 2011 14:07
    asterix99
    Poziom 18  

    Witam.
    Mam takie zapytanie SQL

    Code:

    SELECT
     tw_Symbol
    FROM
     tw__Towar,
     tw_ZdjecieTw
    WHERE
     tw_Charakter IS NOT NULL AND
     tw_SklepInternet='0' AND
     tw_Symbol NOT LIKE 'Ż%' AND
     zd_Zdjecie IS NOT NULL AND
     zd_IdTowar=tw_Id
    Jak przerobić to zapytanie aby zamiast wyświetlania pozycji towarowych nastąpiło
    Code:
    tw_SklepInternet='1'
    na podstawie warunków z zapytania powyżej?

    0 6
  • #2 06 Sty 2011 12:33
    one_eddie
    Poziom 25  

    Nie bardzo rozumiem co chcesz osiągnąć. Mozesz opisać to w inny sposób?

    0
  • #3 06 Sty 2011 14:31
    asterix99
    Poziom 18  

    Mam w magazynie kilkanaście tysięcy produktów. Kilka tysięcy ma pełny opis, dodane zdjęcie i nieustawiony znacznik "do sklepu internetowego". Chodzi o to, aby we wszystkich produktach które jednocześnie:
    - mają nieustawiony znacznik "do sklepu internetowego"'
    - mają pełną charakterystykę produktu,
    - mają dodane zdjęcie,
    - indeks produktu nie zaczyna się na "Ż"
    ustawić automatycznie znacznik "do sklepu internetowego".

    0
  • #4 06 Sty 2011 14:50
    one_eddie
    Poziom 25  

    Jeśli dobrze zrozumiałem musisz wykonać

    Code:
    UPDATE [tabela zrodlowa dla tw_SklepInternet] SET tw_SklepInternet='1' WHERE [twoje warunki]


    Nie mam w tej chwili przed oczami struktury wiec dokladnie nie napisze.

    Dodano po 4 [minuty]:

    Oto prawdopodobnie prawidlowe zapytanie. Strzelam w ciemno bo nie mam w tej chwili mozliwosci aby to sprawdzic

    Code:
    UPDATE 
    
     tw_Symbol
    INNER JOIN
     tw__Towar
    INNER JOIN
     tw_ZdjecieTw
    SET tw_SklepInternet='1'
    WHERE
     tw_Charakter IS NOT NULL AND
     tw_SklepInternet='0' AND
     tw_Symbol NOT LIKE 'Ż%' AND
     zd_Zdjecie IS NOT NULL AND
     zd_IdTowar=tw_Id


    lub tak

    Code:
    UPDATE 
    
     tw_Symbol,  tw__Towar,  tw_ZdjecieTw
    SET tw_SklepInternet='1'
    WHERE
     tw_Charakter IS NOT NULL AND
     tw_SklepInternet='0' AND
     tw_Symbol NOT LIKE 'Ż%' AND
     zd_Zdjecie IS NOT NULL AND
     zd_IdTowar=tw_Id

    0
  • #5 07 Sty 2011 08:21
    asterix99
    Poziom 18  

    1 kod wyświetla błąd:
    Msg 156, Level 15, State 1, Line 3
    Incorrect syntax near the keyword 'INNER'.

    2 kod wyświetla błąd:
    Msg 102, Level 15, State 1, Line 2
    Incorrect syntax near ','.

    Baza jest na MSSQL 2005.

    0
  • #7 07 Sty 2011 10:37
    asterix99
    Poziom 18  

    Dzięki za link. Zadziałało coś takiego.

    Code:

    UPDATE
    tw__Towar 
    SET tw_SklepInternet='1'
    FROM tw_ZdjecieTw, tw__Towar
    WHERE
    tw_Charakter IS NOT NULL AND
    tw_SklepInternet='0' AND
    tw_Symbol NOT LIKE 'Ż%' AND
    zd_Zdjecie IS NOT NULL AND
    zd_IdTowar=tw_Id

    0