SELECT * FROM TABLE WHERE COLUMN = 'ячейка из *.csv файла' -если это реально и вы знаете как это сделать, то напишите.... а я пока доки по sql почитаю...
Вид для печати
SELECT * FROM TABLE WHERE COLUMN = 'ячейка из *.csv файла' -если это реально и вы знаете как это сделать, то напишите.... а я пока доки по sql почитаю...
[QUOTE=Vitos_b]SELECT * FROM TABLE WHERE COLUMN = 'ячейка из *.csv файла' -если это реально и вы знаете как это сделать, то напишите.... а я пока доки по sql почитаю...[/QUOTE]
Могу предложить только один вариант - с помощью хранимых процедур
например в SQL Server 2000
что-то типа этого (не моё, с готовой базы взял :shine: )
[CODE]
Create Function dbo.CsvStringToInt ( @Array varchar(1000))
returns @IntTable table
(IntValue int)
AS
begin
declare @separator char(1)
set @separator = ','
declare @separator_position int
declare @array_value varchar(1000)
set @array = @array + ','
while patindex('%,%' , @array) <> 0
begin
select @separator_position = patindex('%,%' , @array)
select @array_value = left(@array, @separator_position - 1)
Insert @IntTable
Values (Cast(@array_value as int))
select @array = stuff(@array, 1, @separator_position, '')
end
return
end
[/CODE]
и потом
[CODE]
Declare @TheCSV varchar(100)
set @TheCSV = '100, 102 ,104, 106'
select P.ProductID, ProductName
from dbo.Products P
where p.ProductID in (Select IntValue
from dbo.CsvStringToInt(@TheCSV) )
[/CODE]
спасибо traveller! у кого-нить есть что-то попроще? :)
Можно загружать данные из cvs-файла в таблицу командой LOAD DATA INFILE, а потом уже из этой таблицы делать SELECT * FROM ...
Например:
LOAD DATA INFILE 'с:\\1.csv' REPLACE INTO TABLE table1
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
SELECT * FROM table1