mysql - full - sql meaning



'নির্বাচন করুন' বিবৃতিতে 'আইএফ'-কলাম মানের উপর ভিত্তি করে আউটপুট মান নির্বাচন করুন (6)

আপনি এই চেষ্টা করতে পারেন

 Select id , IF(type=='p', IFNULL(amount,0), IFNULL(amount,0) * -1) as amount from table
SELECT id, amount FROM report

report.type='P' এবং -amount যদি report.type='N' তবে আমার amount প্রয়োজন। আমি কিভাবে উপরের প্রশ্নের এই যোগ করতে পারি?


Answer #1

একটি case বিবৃতি ব্যবহার করুন:

select id,
    case report.type
        when 'P' then amount
        when 'N' then -amount
    end as amount
from
    `report`

Answer #2

সবচেয়ে সহজ উপায় একটি IF() ব্যবহার করা হয়। হ্যাঁ Mysql আপনি শর্তাধীন যুক্তি করতে পারবেন। যদি ফাংশন 3 প্যারামিটার শর্ত, সত্য আউটকাম, মিথ্যা আউটপুট লাগে।

তাই লজিক হয়

if report.type = 'p' 
    amount = amount 
else 
    amount = -1*amount 

এসকিউএল

SELECT 
    id, IF(report.type = 'P', abs(amount), -1*abs(amount)) as amount
FROM  report

যদি আপনি কেবলমাত্র না থাকে তবে আপনি abs () এড়িয়ে যেতে পারেন


Answer #3
SELECT CompanyName, 
    CASE WHEN Country IN ('USA', 'Canada') THEN 'North America'
         WHEN Country = 'Brazil' THEN 'South America'
         ELSE 'Europe' END AS Continent
FROM Suppliers
ORDER BY CompanyName;

Answer #4
SELECT id, amount
FROM report
WHERE type='P'

UNION

SELECT id, (amount * -1) AS amount
FROM report
WHERE type = 'N'

ORDER BY id;

Answer #5
select 
  id,
  case 
    when report_type = 'P' 
    then amount 
    when report_type = 'N' 
    then -amount 
    else null 
  end
from table




database