كيف يمكنني أن أفعل منطق منطقية على عمودين في الخلية؟

StackOverflow https://stackoverflow.com/questions/248683

  •  05-07-2019
  •  | 
  •  

سؤال

وأريد أن أفعل مختارة في الخلية التي تجمع بين عدة أعمدة ... شيء من هذا القبيل شبة الكود:

SELECT payment1_paid AND payment2_paid AS paid_in_full 
FROM denormalized_payments 
WHERE payment1_type = 'check';

تعديل : في payment1_paid وpayment2_paid هي القيم المنطقية

.

وأنا لا يمكن استخدام أي لغة أخرى لهذه المشكلة بالذات من الخلية.

وشكرا على اي مساعدة!

تعديل : في عذرا للجميع الذين قدموا لي اقتراحات لتلخيص ووصل، ولكن لقد صوتت تلك الإجابات في وقت مبكر يصل لأنهم المفيد على أي حال. و بفضل لجميع للحصول على إجابات سريعة بشكل لا يصدق الخاص بك!

هل كانت مفيدة؟

المحلول

وطيب، لمنطقية ويمكنك القيام به

Select (payment1_paid && payment2_paid) as paid_in_full 
from denormalized_payments 
where payment1_type = 'check';

وكما رأينا هنا .

نصائح أخرى

وفقط تفعل

Select CONCAT(payment1_paid, payment2_paid) as paid_in_full 
from denormalized_payments 
where payment1_type = 'check';

ويمكنك CONCAT أي عدد من الحقل الذي تريد.

وإذا كان عن طريق الجمع بين تقصد سلسلة ثم هذا العمل:

select concat(payment1_paid, payment2_paid) as paid_in_full
from denormalized_payments where payment1_type = 'check';

وإذا كان عن طريق الجمع بين تقصد إضافة، ثم وهذا يجب أن تعمل:

select payment1_paid + payment2_paid as paid_in_full
from denormalized_payments where payment1_type = 'check';

[تحرير]

لمنطقية AND:

select payment1_paid && payment2_paid as paid_in_full
from denormalized_payments where payment1_type = 'check';

ولست متأكدا ولكن هل يعني لسلسلة؟

SELECT CONCAT(ColumnA, ColumnB) AS ColumnZ
FROM Table

وSELECT IF(payment1_paid = 1 AND payment2_paid = 1, 1, 0) AS paid_in_fill

إذا هي سلاسل (أو تريد أن تعامل مثل سلاسل الأعمدة التي تريد الجمع) يمكنك استخدام <لأ href = "http://dev.mysql.com/doc/refman/5.0/en/string- functions.html # function_concat "يختلط =" نوفولو noreferrer "> CONCAT و <لأ href =" http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat- وفاء سلطان "يختلط =" نوفولو noreferrer "> CONCAT_WS . حظا سعيدا!

select (payment1_paid && payment2_paid) as paid_in_full
from denormalized_payments where payment1_type = 'check';
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top