Just nu i M3-nätverket
Gå till innehåll

databas fråga


Mr Orange

Rekommendera Poster

Hej!

 

Jag får inte mitt sql-komando att fungera.

 

INSERT INTO bokningar ( eId, pId )

SELECT DISTINCT 146 AS theNameId,159 AS thePlaceId

FROM bokningar

WHERE 146 & 156 NOT In (SELECT eId & pId FROM bokningar);

 

Jag har två siffer värden som jag vill lägga till i tabellen bokningar men bara om de inte förekommer tidigare.

 

Fungerar det bättre med EXISTS?

 

Länk till kommentar
Dela på andra webbplatser

Jag fick det att fungera med EXISTS men är det en bra lösning?

 

INSERT INTO bokningar ( eId, pId )

SELECT DISTINCT 147 AS theNameId, 146 AS thePlaceId

FROM bokningar

WHERE NOT EXISTS (SELECT * FROM bokningar WHERE eId=147 OR pId=146);

 

 

Länk till kommentar
Dela på andra webbplatser

Magnus Ahlkvist

INSERT INTO bokningar ( eId, pId )

SELECT DISTINCT 147 AS theNameId, 146 AS thePlaceId

FROM bokningar

WHERE eid<>147 and eid<>147

 

Men jag förstår inte riktigt vad du gör. Du gör insert till tabellen bokningar ifrån tabellen bokningar. Alltså från samma tabell..

 

--

En röst talade till mig och sade:

”Le och var glad, ty det kunde vara värre”.

Så jag log, och jag var glad.

Och det blev värre.

 

Länk till kommentar
Dela på andra webbplatser

Jag vill veta om de två värdena finns i tabellen bokningar sedan tidagare. Om de gör det vill jag inte lägga till dem. Jag skulle kunna lösa det genom att köra en loop.

 

Ex)

 

SQL = "SELECT * FROM bokningar WHERE eId = Request.Form("eId") OR pId = Request.Form("pId")"

Set rs = db.Execute()

 

If rs.EOF Then

'Gör inlägget

Else

Response.Write "Record exists"

End If

 

Går det inte att lösa med ett sql kommando istället?

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...