これを達成する方法についていくつかアドバイスが必要です。 のようなクエリがある場合SELECT * FROM catalog
WHERE record_id
= $ var OR form_id
= $ var;複数の列でMySQLを検索し、一致する列を見つける
私がしたいのは、どの列が一致しているかを知ることです。それは記録か形式ですか?多分このような
これを達成する方法についていくつかアドバイスが必要です。 のようなクエリがある場合SELECT * FROM catalog
WHERE record_id
= $ var OR form_id
= $ var;複数の列でMySQLを検索し、一致する列を見つける
私がしたいのは、どの列が一致しているかを知ることです。それは記録か形式ですか?多分このような
:
select a,b,c, 1 from catalog where record_id = $var
union
select a,b,c, 2 from catalog where form_id = $var
は、1または2があるかを示します。
SELECT *,
CASE
WHEN record_id = $var and form_id = $var THEN 'both'
WHEN record_id = $var THEN 'record_id'
WHEN form_id = $var THEN 'form_id'
ELSE 'none' -- can't happen becouse of where clause
END CASE as how_it_was
FROM catalog WHERE record_id = $var OR form_id = $var;
の$ VAR上のSQL injetionの点に注意してください
あなたがこの情報を利用したいどうすればよい/+1私よりも優れています。 ;) –
select *,
case when record_id = $var then 1 else 2 end as matches
from table
where record_id = $var or form_id = $var
私の無知には申し訳ありません。私はルイスとあなたと同じエラーが出ます。私は、とエラーが表示されます。 SQL構文にエラーがあります。右側の構文が5行目の 'table where record_id = 522 or form_id = 123'の近くで使用するようにMySQLサーバのバージョンに対応するマニュアルをチェックしてください。 – Elliott
? – dweiss