[MsSQL] Frage zu Syntax

Buba235

Erfahrenes Mitglied
Hallo Leute!


Ich hab mal ne Frage zur Syntax in MsSQL. Also ich habe eine Website (in PHP und in MySQL und MsSQL), bei der ich jetzt mit Hilfe von MsSQLetwas programmieren soll. Es gibt einen vorgegebenen MsSQL Text, der so aussieht:

Code:
SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO
ALTER VIEW dbo.view_results_7 AS SELECT TOP 100 PERCENT dbo.view_results_7a.*,
table_1, table_2, ... table_17 
FROM dbo.view_results_7a INNER JOIN
dbo.table_1 ON dbo.view_results_7a.MCC COLLATE SQL_Latin1_CP1_CI_AS = dbo.table_1.MCC
WHERE (dbo.view_results_7a.IMSI <> '1234567890') AND (dbo.view_results_7a.IMSI <> '2345678901') AND (dbo.view_results_7a.IMSI <> '3456789012') ...
ORDER BY dbo.view_results_7a.BegTime DESC
GO SET_QUOTED IDENTIFIER OFF GO SET ANSI_NULLS ON GO

Statt den Zahlen (also '1234567890' usw.) hab ich jetzt eine Tabelle erstellt, wo diese Zahlen alle gespeichert werden. Meine Frage ist jetzt: Kann ich jetzt einfach (in PHP mit MsSQL) den ganzen Wullst mit den Zahlen so weg lassen und statt dessen mit der Tabelle vergleichen? Ungefähr so:

Code:
SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO
ALTER VIEW dbo.view_results_7 AS SELECT TOP 100 PERCENT dbo.view_results_7a.*,
table_1, table_2, ... table_17 
FROM dbo.view_results_7a INNER JOIN
dbo.table_1 ON dbo.view_results_7a.MCC COLLATE SQL_Latin1_CP1_CI_AS = dbo.table_1.MCC
WHERE dbo.view_results_7a.IMSI <> meine_neue_tabelle ORDER BY dbo.view_results_7a.BegTime DESC
GO SET_QUOTED IDENTIFIER OFF GO SET ANSI_NULLS ON GO


Oder sind noch mehr Änderungen nötig? Ich frage deshalb, weil ich hier auf einem Live-System arbeite und ich mir keine Versuche und Fehler leisten kann, da sonst die Daten "beschädigt" werden und es eine Menge Ärger geben kann. Wäre euch sehr dankbar für euere Hinweise und Tipps.


Gruß Buba
 
Hallo!


Ich hab das jetzt so gemacht wie oben beschrieben, nur bekomme ich jetzt immer eine Fehlermeldung. Also so ist jetzt meine Syntax:

Code:
SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO
ALTER VIEW dbo.view_results_7 AS SELECT TOP 100 PERCENT dbo.view_results_7a.*,
table_1, table_2, ... table_17 
FROM dbo.view_results_7a INNER JOIN
dbo.table_1 ON dbo.view_results_7a.MCC COLLATE SQL_Latin1_CP1_CI_AS = dbo.table_1.MCC
WHERE dbo.view_results_7a.IMSI <> IMSI_Blacklist.tblIMSI_Stiering_Blacklist ORDER BY dbo.view_results_7a.BegTime DESC
GO SET_QUOTED IDENTIFIER OFF GO SET ANSI_NULLS ON GO

Der Fehler lautet:

Server: Nachr.-Nr. 107, Schweregrad 16, Status 3, Prozedur View_Results_7 Zeile 6
Das Spaltenpräfix 'IMSI_Blacklist.tblIMSI_Stiering_Blacklist' stimmt min keinem in der
Abfrage verwendeten Tabellen- oder Aliasnamen überein.


Könnt ih mir da helfen? Ich bin absoluter in MsSQL und ich hab alle Hinweise so gemacht wie ich sie in der Hilfe oder im Internet gefunden habe, nur bewirkt das gar nichts!


Gruß Buba
 
Zurück