У меня есть 2 стола. Я хочу сравнить количество строк в таблице А до значения в таблице B:Как сравнить count() со значением из другой таблицы?
select count(1) from table_a; -- returns 1500
select row_count from table_b; -- returns 1490
Хочу сравнить числа и выполнить и записать строку в таблице C, соответственно. Я думал о выполнении объединения, но это не делает смысл, так как значения от а и Ь не имеют никакого отношения:
select
count(a.*) as rows_in_table
, b.lines_in_loadfile
from
[table_a] a
cross join [table_b]
;
Теперь я запутался. В псевдо, что мне нужно:
select
count(1) from table_a as value_a
row_count from table_b as value_b
case
when value_a <> value_b then msg = 'values do not match'
else msg = 'values match'
end
insert into table_c (row_msg) = @msg;
Как это сделать в 1 запросе? Я совершенно уверен, что это не так сложно, но смотришь на него в течение часа и застрял.
что такое 'row_count'? это столбец в таблице с одной строкой? это должно быть «count (1)» тоже? – Tanner
Нет, это переменная из таблицы переменных. В действительности это нечто вроде 'number_of_lines_of_file_xxx' – Pr0no