# \#sql

**URL:** https://discuss.dataengineercafe.io/tag/sql/2.md

[Latest](https://discuss.dataengineercafe.io/latest.md) · [Categories](https://discuss.dataengineercafe.io/categories.md) · [Tags](https://discuss.dataengineercafe.io/tags.md)

---

## [Airflow JDBC Connection with SAP HANA](https://discuss.dataengineercafe.io/t/airflow-jdbc-connection-with-sap-hana/763)

<div class="topic-metadata">

**Author:** [@siwagorn](https://discuss.dataengineercafe.io/u/siwagorn)\
**Replies:** 1\
**Last updated:** [January 3, 2025, 3:00am UTC](https://discuss.dataengineercafe.io/t/airflow-jdbc-connection-with-sap-hana/763 "2025-01-03T03:00:41Z")

</div>

สวัสดีครับ อยากสอบถามการเชื่อมต่อ JDBC บน Airflow ครับ ต้องการที่จะต่อไปที่ Database ของ SAP HANA ครับ แต่อ่าน Document แล้วยังงงๆ โดยปัจจุบันผมรันโดยใช้ Docker และลง JVM แล้วครับ ส่วน library ต่างๆ ลงตามนี้ครับ jayd…

---

## [เรื่องการทำ SSIS แบบเมื่อ Data Source ต้นทางเปลี่ยน Data Destination ปลายทางเปลี่นนตาม](https://discuss.dataengineercafe.io/t/ssis-data-source-data-destination/760)

<div class="topic-metadata">

**Author:** [@BOTGOM](https://discuss.dataengineercafe.io/u/BOTGOM)\
**Replies:** 1\
**Last updated:** [January 3, 2025, 2:59am UTC](https://discuss.dataengineercafe.io/t/ssis-data-source-data-destination/760 "2025-01-03T02:59:51Z")

</div>

ผมทำการดึงข้อมูลจาก Data Source ต้นทางโดยทำเป็นแบบ Application web ใน Visual Studio Code โดยดึงข้อมูลจาก ใน Sql Server จากอีกที่ นึงไปยัง Sql Server อีกที่นึง โดยใช้ javaScript โดยตอนนี้ตั้งว่าให้มันเช็ค เวลาล่าสุดจากทั…

---

## [ขอสอบถามเรื่อง Lookup ออกมาเป็น Fact table หน่อยครับ](https://discuss.dataengineercafe.io/t/lookup-fact-table/717)

<div class="topic-metadata">

**Author:** [@BOTGOM](https://discuss.dataengineercafe.io/u/BOTGOM)\
**Replies:** 5\
**Last updated:** [May 24, 2024, 1:46am UTC](https://discuss.dataengineercafe.io/t/lookup-fact-table/717 "2024-05-24T01:46:00Z")

</div>

จะขอสอบถามหน่อยครับ พอดี ได้ทำการสร้าง Staging area แล้วสร้าง View Fact table เพื่อเอาข้อมูลไปลงใน Fact table ที่เป็น Data warehouse ดังภาพครับ โดยข้อมูลจะเป็นประมานนี้ครับ DimCustomer Customerkey,CusCodeAltrnateKey…

---

## [ทำไมเราถึงไม่ควรใช้ Select \*](https://discuss.dataengineercafe.io/t/select/702)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 1\
**Last updated:** [April 12, 2024, 6:16am UTC](https://discuss.dataengineercafe.io/t/select/702 "2024-04-12T06:16:15Z")

</div>

บทความเท่ ๆ จาก @Napat\_Pianchana ครับ ตามไปส่องกัน อิอิ

---

## [การ execute query ของ hive](https://discuss.dataengineercafe.io/t/execute-query-hive/680)

<div class="topic-metadata">

**Author:** [@pp-bigz](https://discuss.dataengineercafe.io/u/pp-bigz)\
**Replies:** 1\
**Last updated:** [February 24, 2024, 6:15am UTC](https://discuss.dataengineercafe.io/t/execute-query-hive/680 "2024-02-24T06:15:33Z")

</div>

สวัสดีครับพอดีผมได้มีปสก. ลองรัน data เยอะครั้งแรกครับประมาณ 5000 กว่าล้าน record แล้วคราวนี้ใน qry ที่ผมเขียนจะใช้พวก case when, sum, substring แล้วก็มี where ครับ สิ่งที่ผมเจอคือ ผมรัน qry ที่มันทั้งพวก case when, s…

---

## [การใช้ SQL ทำ Upsert ของฐานข้อมูลแต่ละยี่ห้อ](https://discuss.dataengineercafe.io/t/sql-upsert/638)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [October 15, 2023, 8:21am UTC](https://discuss.dataengineercafe.io/t/sql-upsert/638 "2023-10-15T08:21:32Z")

</div>

เวลาที่เราสร้าง Data Pipeline ให้ดี ๆ เราต้องคิดถึงเรื่อง Idempotence ด้วย แล้วการทำ Upsert ก็เป็นท่าหนึ่งที่เราใช้กัน พอดีไปเจอบทความที่พูดถึงเรื่อง Upsert ของฐานข้อมูลแต่ละตัวไว้ดีเลยทีเดียว ลองตามไปอ่านกันดูนะครับ …

---

## [วิธีทำ Incremental Extraction จากตารางที่ไม่มี Primary Key หรือพวก Date/Timestamp](https://discuss.dataengineercafe.io/t/incremental-extraction-primary-key-date-timestamp/563)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [April 9, 2023, 2:44pm UTC](https://discuss.dataengineercafe.io/t/incremental-extraction-primary-key-date-timestamp/563 "2023-04-09T14:44:34Z")

</div>

คิดว่าหลาย ๆ คนน่าจะเจอปัญหาที่ตารางข้อมูลที่เราจะดึง ไม่มีทั้ง primary key (ที่เป็นแบบ incremental ที่เราสามารถ sort ได้นะ ไม่ใช่แบบ UUID) หรือแม้กระทั่ง date ให้เราเก็บไว้อ้างอิงตอนดึงข้อมูลได้เลย ซึ่งสุดท้ายก็จะโดนบีบ…

---

## [SQLMesh - Open source DataOps framework that brings the benefits of DevOps to data teams](https://discuss.dataengineercafe.io/t/sqlmesh-open-source-dataops-framework-that-brings-the-benefits-of-devops-to-data-teams/558)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [April 1, 2023, 2:01pm UTC](https://discuss.dataengineercafe.io/t/sqlmesh-open-source-dataops-framework-that-brings-the-benefits-of-devops-to-data-teams/558 "2023-04-01T14:01:15Z")

</div>

เครื่องมือตัวนี้ดูพอมีอนาคตอยู่นะ ทำ DataOps ได้จบภายในตัวมันเอง SQLMesh is a DataOps framework that brings the benefits of DevOps to data teams. It enables data scientists, analysts, and engineers to efficiently run…

---

## [มารู้จัก DuckDB กัน 🦆 ฐานข้อมูล สำหรับการวิเคราะห์บนเครื่อง Local](https://discuss.dataengineercafe.io/t/duckdb-local/129)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 2\
**Last updated:** [November 19, 2022, 9:07am UTC](https://discuss.dataengineercafe.io/t/duckdb-local/129 "2022-11-19T09:07:49Z")

</div>

เจ้าเป็ด DuckDB ฐานข้อมูลน่ารักๆ ใช้งานง่าย และมีประสิทธิภาพสูง :duck: :muscle: ทำไมต้อง DuckDB? ง่าย! เค้าได้ไอเดียมาจาก SQLite ที่เป็นฐานข้อมูลที่ไม่ว่าใครก็ตามจะทำ app หรือจะวิเคราะห์ข้อมูล สามารถใช้งานมันได้ง…

---

## [Databricks JDBC connection](https://discuss.dataengineercafe.io/t/databricks-jdbc-connection/398)

<div class="topic-metadata">

**Author:** [@premsurawut](https://discuss.dataengineercafe.io/u/premsurawut)\
**Replies:** 4\
**Last updated:** [September 4, 2022, 10:07am UTC](https://discuss.dataengineercafe.io/t/databricks-jdbc-connection/398 "2022-09-04T10:07:44Z")

</div>

สวัสดีครับ มีเรื่องมารบกวนสอบถามครับ Pipeline situation: Azure Blob =\> Azure Databricks =\> Azure SQL Server …ไม่แน่ใจว่าเราสามารถใช้ Databricks ต่อ JDBC connection เพื่ออ่าน data จาก blob แล้วเขียนลงใน Azure SQL Serve…

---

## [มี CTE เยอะ ๆ เสมือนเรา import ไม่ได้กระทบ performance บน data warehouse นะ](https://discuss.dataengineercafe.io/t/cte-import-performance-data-warehouse/376)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 1\
**Last updated:** [August 15, 2022, 5:29am UTC](https://discuss.dataengineercafe.io/t/cte-import-performance-data-warehouse/376 "2022-08-15T05:29:45Z")

</div>

เวลาเขียนโค้ด SQL ใน dbt เค้าจะใช้ CTE เสมือนกับว่าเรา import module เข้ามาใช้งาน ทีนี้มีคำถามว่าถ้าเรามี CTE เยอะ ๆ เนี่ย ในส่วน import มันจะกระทบกับ performance ไหม Tristan Handy ผู้สร้าง dbt เค้าเลยทดลองเอา query มารั…

---

## [Data Engineer @ NocNoc](https://discuss.dataengineercafe.io/t/data-engineer-nocnoc/372)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [August 12, 2022, 11:51am UTC](https://discuss.dataengineercafe.io/t/data-engineer-nocnoc/372 "2022-08-12T11:51:43Z")

</div>

เห็นที่ NocNoc เค้าเปิดรับ Data Engineer อยู่ เผื่อสนใจกันครับ ลิ้งค์รับสมัคร และรายละเอียดของตำแหน่งก็ตามด้านล่างนี้เลย :point\_down: https://www.careers-page.com/nocnoc/job/6Y4X9R About the job Data Engineer NocNo…

---

## [Data Engineer @ LINE Thailand](https://discuss.dataengineercafe.io/t/data-engineer-line-thailand/111)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [February 5, 2022, 10:49am UTC](https://discuss.dataengineercafe.io/t/data-engineer-line-thailand/111 "2022-02-05T10:49:01Z")

</div>

เผื่อสนใจกันครับ ใครชอบทาง technical จ๋าๆ ทำงานสนุก hardcore ลองสมัครกันดูๆๆ :fire: รายละเอียดตามนี้เลยครับ :link: https://careers.linecorp.com/jobs/596 Department: Engineering Team: Datalabs Responsibilities D…

---

## [เกม SQLordle: A word guessing game for SQL vocabulariests](https://discuss.dataengineercafe.io/t/sqlordle-a-word-guessing-game-for-sql-vocabulariests/329)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [July 9, 2022, 11:00am UTC](https://discuss.dataengineercafe.io/t/sqlordle-a-word-guessing-game-for-sql-vocabulariests/329 "2022-07-09T11:00:08Z")

</div>

ลองเล่นเมื่อกี้แล้วเกือบหัวร้อนเลย 555 :rofl: SQLordle #8 4/6 ⬛⬛🟨⬛⬛ ⬛🟨⬛⬛🟩 ⬛🟨🟨⬛🟩 🟩🟩🟩🟩🟩 ไปลองกันได้ ๆ

---

## [คอร์ส Data Engineering Zoomcamp (free of charge)](https://discuss.dataengineercafe.io/t/data-engineering-zoomcamp-free-of-charge/81)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 4\
**Last updated:** [May 9, 2022, 11:52pm UTC](https://discuss.dataengineercafe.io/t/data-engineering-zoomcamp-free-of-charge/81 "2022-05-09T23:52:16Z")

</div>

คอร์ส Data Engineering Zoomcamp จัดโดย Alexey Grigorev จาก DataTalks.Club เปิดให้ลงทะเบียนฟรี! :heart\_eyes: คอร์สจะเริ่มวันแรกวันที่ 17 ม.ค. 65 นี้ครับผม ไปติดตามลงทะเบียนกันได้ๆ ก่อนคอร์สจะเริ่มก็ให้ทำตามนี้ Register…

---

## [เปรียบเทียบ SQL vs. NoSQL Database: When to Use, How to Choose by @scgupta](https://discuss.dataengineercafe.io/t/sql-vs-nosql-database-when-to-use-how-to-choose-by-scgupta/225)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 2\
**Last updated:** [April 29, 2022, 11:27am UTC](https://discuss.dataengineercafe.io/t/sql-vs-nosql-database-when-to-use-how-to-choose-by-scgupta/225 "2022-04-29T11:27:08Z")

</div>

เช้านี้ไถ Twitter เจอบทความนี้มาครับ ของคุณ @scgupta เปรียบเทียบระหว่าง SQL กับ NoSQL database ไว้ ในบทความมีภาพเปรียบเทียบต่างๆ อ่านเข้าใจง่ายดีครับ :innocent: อันนี้ตัวอย่างรูปจากในบทความ เป็น decision tree ในการเลื…

---

## [Private key เจ้าปัญหา กับ env\_var ใน dbt](https://discuss.dataengineercafe.io/t/private-key-env-var-dbt/203)

<div class="topic-metadata">

**Author:** [@atb](https://discuss.dataengineercafe.io/u/atb)\
**Replies:** 0\
**Last updated:** [April 20, 2022, 10:07am UTC](https://discuss.dataengineercafe.io/t/private-key-env-var-dbt/203 "2022-04-20T10:07:37Z")

</div>

จากบล็อก วิธีใส่ Private Key หรือ Secret ที่มี Special Char ใน AWS Secrets Manager ที่พี่ @zkan เขียนไว้ จะเห็นได้ว่าเจ้า private key ชอบมีเรื่องมีราวให้ได้เห็นอยู่บ่อย ๆ การใช้ private key ผ่าน env\_var บน dbt ก็ม…

---

## [Using variables in the dbt model](https://discuss.dataengineercafe.io/t/using-variables-in-the-dbt-model/198)

<div class="topic-metadata">

**Author:** [@atb](https://discuss.dataengineercafe.io/u/atb)\
**Replies:** 1\
**Last updated:** [April 19, 2022, 5:01am UTC](https://discuss.dataengineercafe.io/t/using-variables-in-the-dbt-model/198 "2022-04-19T05:01:23Z")

</div>

การเอา value มาสร้างเป็น variable เป็นการช่วยสื่อความหมายของ value นั้น ๆ ให้ชัดเจนมากขึ้น แถมยังช่วยให้ query อ่านง่าย เป็นระเบียบ สามารถเรียกใช้ value นั้นซ้ำได้หลายจุด และยังสามารถปรับเปลี่ยน value นั้น ๆ ได้โดยง่ายอี…

---

## [Export table schema in BigQuery](https://discuss.dataengineercafe.io/t/export-table-schema-in-bigquery/195)

<div class="topic-metadata">

**Author:** [@atb](https://discuss.dataengineercafe.io/u/atb)\
**Replies:** 0\
**Last updated:** [April 18, 2022, 11:00am UTC](https://discuss.dataengineercafe.io/t/export-table-schema-in-bigquery/195 "2022-04-18T11:00:05Z")

</div>

ถ้าอยากได้ document สำหรับประกอบ dataset การ export table schema ไปให้ด้วย ก็ดูเป็นวิธีที่เร็วและน่าสนใจ (กรณีที่ไม่มี Data mart, Data catalog, Data discovery, …) อยาก export 3 columns นี้ไปให้คนใช้ข้อมูลจัง ทำไงดี? …

---

## [วิธีนับของที่อยู่ใน Array ของแต่ละแถวใน BigQuery](https://discuss.dataengineercafe.io/t/array-bigquery/119)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 1\
**Last updated:** [February 20, 2022, 8:14am UTC](https://discuss.dataengineercafe.io/t/array-bigquery/119 "2022-02-20T08:14:38Z")

</div>

การนับฟังดูแล้วง่ายๆ บางครั้งเราเขียนโปรแกรมวนลูปนับไปก็เสร็จ แต่ในกรณีที่เรามีข้อมูลใหญ่มากๆ การวนลูปแบบนั้นก็อาจจะใช้เวลานานเป็นวัน :sweat\_smile: การเขียน SQL บน powerful data warehouse อย่าง BigQuery ก็เป็นทางเลือกที…

---

## [SQL หาระยะเวลาที่แตกต่างกันระหว่าง 2 records ใน BigQuery](https://discuss.dataengineercafe.io/t/sql-2-records-bigquery/104)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [January 31, 2022, 4:13am UTC](https://discuss.dataengineercafe.io/t/sql-2-records-bigquery/104 "2022-01-31T04:13:13Z")

</div>

ใน BigQuery เราสามารถใช้ฟังก์ชั่น LAG ได้ เพื่อที่จะดูข้อมูลของ record ก่อนหน้า ซึ่งทำให้เราสามารถคำนวณความแตกต่างระหว่าง record ปัจจุบัน กับ record ก่อนหน้าได้ เช่น ระยะเวลาระหว่าง 2 records เป็นตัว ตัวอย่าการใช้การก็ถ…

---

## [เราสามารถใช้ ROW\_NUMBER ในการเลือก record แรก (หรือ record ไหนก็ได้) จากการกลุ่มข้อมูล](https://discuss.dataengineercafe.io/t/row-number-record-record/105)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [January 31, 2022, 4:29am UTC](https://discuss.dataengineercafe.io/t/row-number-record-record/105 "2022-01-31T04:29:47Z")

</div>

SQL ด้านล่างนี้เป็นตัวอย่างที่ผมใช้เลือก record แรกจากกลุ่มของข้อมูลนะครับ ใช้บน BigQuery ซึ่งในตัวอย่างนี้ผมอยากจะเลือกเอา order แรกจาก source ที่ผมดึงมา โดยเรียงตาม publish date SELECT \* FROM ( SELECT \*, R…

---

## [ฟังก์ชั่น string\_agg เอาไว้เชื่อมต่อข้อมูลสตริงใน sql ตอนที่เรา group by](https://discuss.dataengineercafe.io/t/string-agg-sql-group-by/96)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [January 12, 2022, 8:51am UTC](https://discuss.dataengineercafe.io/t/string-agg-sql-group-by/96 "2022-01-12T08:51:42Z")

</div>

ลองนึกภาพว่าเรามีข้อมูลอยู่ประมาณนี้ เป็นข้อมูลชื่อเมนูต่างๆ :drooling\_face: เวลาที่เราอยากจะหาราคาเฉลี่ยของเมนูแต่ละประเภท เราก็จะเขียน SQL ได้ประมาณนี้ SELECT category, AVG(price) AS average\_price FROM food G…

---

## [แปลงค่า Unix timestamp เป็น timestamp ใน Redshift](https://discuss.dataengineercafe.io/t/unix-timestamp-timestamp-redshift/77)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [January 3, 2022, 2:05pm UTC](https://discuss.dataengineercafe.io/t/unix-timestamp-timestamp-redshift/77 "2022-01-03T14:05:32Z")

</div>

ในกรณีที่เราโหลดข้อมูลมาแล้วเป็นประมาณนี้ ts 1541106132796 1541107493796 1541109015796 ชนิดข้อมูลอาจจะเป็น BIGINT ทีนี้วิธีการแปลงให้เป็น timestamp เราสามารถใช้ query ได้ตามนี้ SELECT TIMESTAMP 'epoch' +…

---

## [3BB Internet รับสมัคร Data Engineer](https://discuss.dataengineercafe.io/t/3bb-internet-data-engineer/46)

<div class="topic-metadata">

**Author:** [@Recruiter\_JAS](https://discuss.dataengineercafe.io/u/Recruiter_JAS)\
**Replies:** 0\
**Last updated:** [November 17, 2021, 3:25am UTC](https://discuss.dataengineercafe.io/t/3bb-internet-data-engineer/46 "2021-11-17T03:25:46Z")

</div>

Full time - แจ้งวัฒนะ, นนทบุรี ฿22,000 - ฿40,000 Job Responsibilities: Maintain data dictionary, relationship and its interpretation. Work with business domain experts, data scientists and application developers …

---

## [ใช้ SQL สำหรับแก้ปัญหาตอนรัน Airflow Migration หลังจากอัพเกรดเวอร์ชั่น](https://discuss.dataengineercafe.io/t/sql-airflow-migration/11)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [November 11, 2021, 10:16am UTC](https://discuss.dataengineercafe.io/t/sql-airflow-migration/11 "2021-11-11T10:16:02Z")

</div>

ตอนที่เปลี่ยนมาเป็น Airflow เวอร์ชั่น 2.2.0 แล้ว ตัว migration รันแล้วเจอ error แบบนี้ \[2021-10-11 19:21:13,069\] {db.py:817} ERROR - The task\_instance table has 53 rows without a corresponding dag\_run row. You must manu…

---

## [เจ้า dbt มันคืออะไรนะ? มาๆ เรามาเรียนรู้ไปด้วยกันครับ 😉](https://discuss.dataengineercafe.io/t/dbt/21)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [November 13, 2021, 3:09am UTC](https://discuss.dataengineercafe.io/t/dbt/21 "2021-11-13T03:09:05Z")

</div>

ตามเว็บ https://www.getdbt.com/ เค้ากล่าวไว้ว่า dbt (data build tool) คือ A data transformation tool that enables data analysts and engineers to transform, test and document data in the cloud data warehouse. เครื่องม…
