كيف يمكنني أن أفعل منطق منطقية على عمودين في الخلية؟
سؤال
وأريد أن أفعل مختارة في الخلية التي تجمع بين عدة أعمدة ... شيء من هذا القبيل شبة الكود:
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';